Hello community,

here is the log from the commit of package yodl for openSUSE:Factory checked in 
at 2013-11-28 16:54:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yodl (Old)
 and      /work/SRC/openSUSE:Factory/.yodl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yodl"

Changes:
--------
--- /work/SRC/openSUSE:Factory/yodl/yodl.changes        2013-04-20 
20:01:45.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yodl.new/yodl.changes   2013-11-28 
16:54:22.000000000 +0100
@@ -1,0 +2,10 @@
+Wed Nov 27 07:33:27 UTC 2013 - pgaj...@suse.com
+
+- updated to 3.03:
+  * bugfixes
+  * see changelog for details
+- fix-path.patch renamed to yodl-doc-packages.patch
+- fix-tex-include.patch merged into yodl-doc-packages.patch as
+  changes in both patches relate
+
+-------------------------------------------------------------------

Old:
----
  fix-path.patch
  fix-tex-include.patch
  yodl_3.00.0.orig.tar.gz

New:
----
  yodl-doc-packages.patch
  yodl_3.03.0.orig.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yodl.spec ++++++
--- /var/tmp/diff_new_pack.SxfRoj/_old  2013-11-28 16:54:23.000000000 +0100
+++ /var/tmp/diff_new_pack.SxfRoj/_new  2013-11-28 16:54:23.000000000 +0100
@@ -31,15 +31,15 @@
 %else
 BuildRequires:  texlive-bin
 %endif
-Version:        3.00.0
+Version:        3.03.0
 Release:        0
 Summary:        Yet One-other Document Language
 License:        GPL-3.0
 Group:          Development/Tools/Doc Generators
 Url:            http://yodl.sourceforge.net/
 Source:         
http://sourceforge.net/projects/yodl/files/yodl/%{version}/%{name}_%{version}.orig.tar.gz
-Patch:          fix-path.patch
-Patch1:         fix-tex-include.patch
+# suse specific
+Patch0:         %{name}-doc-packages.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
@@ -53,8 +53,7 @@
 
 %prep
 %setup -q
-%patch -p1
-%patch1 -p1
+%patch0
 
 sed -i s,"#define COPT.*","#define COPT \"%{optflags}\"", ./build
 
@@ -75,7 +74,7 @@
 
 %files
 %defattr(-,root,root)
-%doc AUTHORS.txt changelog LICENSE README.txt CHANGES README.%{version}
+%doc AUTHORS.txt changelog LICENSE README.* CHANGES
 
 %{_bindir}/*
 %dir %{_datadir}/%{name}

++++++ yodl-doc-packages.patch ++++++
Index: INSTALL.im
===================================================================
--- INSTALL.im.orig     2013-10-09 14:21:36.000000000 +0200
+++ INSTALL.im  2013-11-27 08:29:45.661265003 +0100
@@ -68,8 +68,8 @@
     // absolute paths
 
     BIN             = BASE + "/bin";
-    DOC             = BASE + "/share/doc/yodl";
-    DOCDOC          = BASE + "/share/doc/yodl-doc";
+    DOC             = BASE + "/share/doc/packages/yodl";
+    DOCDOC          = DOC;
     MAN             = BASE + "/share/man";    
     STD_INCLUDE     = BASE + "/share/yodl";
 
Index: contrib/build.pl
===================================================================
--- contrib/build.pl.orig       2012-05-27 11:03:00.000000000 +0200
+++ contrib/build.pl    2013-11-27 08:29:45.662265015 +0100
@@ -13,7 +13,7 @@
              CFLAGS            => '-c -Wall -Werror -g',
              STD_INCLUDE       => '/usr/share/yodl',
              MAN_DIR           => '/usr/share/man',
-             DOC_DIR           => '/usr/share/doc/yodl',
+             DOC_DIR           => '/usr/share/doc/packages/yodl',
              YODL_BIN          => '/usr/bin',
              STD_CONVERSIONS   => 'html latex man txt xml',
              MANUAL_FORMATS    => 'html txt pdf ps',
Index: manual/yo/technical/installing.yo
===================================================================
--- manual/yo/technical/installing.yo.orig      2012-05-27 11:03:01.000000000 
+0200
+++ manual/yo/technical/installing.yo   2013-11-27 08:29:45.662265015 +0100
@@ -3,7 +3,7 @@
     itemization(
     it() YODL's binaries in tt(/usr/bin);
     it() YODL's macros in tt(/usr/share/yodl)
-    it() YODL's documentation in tt(/usr/share/doc/yodl);
+    it() YODL's documentation in tt(/usr/share/doc/packages/yodl);
     it() YODL's manpages in tt(/usr/share/man/man{1,7});
     )
     Local installations, not using the Debian installation process, can be
Index: manual/yo/manual.yo
===================================================================
--- manual/yo/manual.yo.orig    2013-10-09 14:21:36.000000000 +0200
+++ manual/yo/manual.yo 2013-11-27 08:31:32.534545834 +0100
@@ -4,7 +4,7 @@
 
 whenlatex(\
     SETSYMBOL(XXusexlatin)
-        (NOTRANS(\input{../../../../../wip/macros/xlatin1.tex}))
+        (NOTRANS(\input{../../../../../../wip/macros/xlatin1.tex}))
 )
 
 SUBST(YODL)(tt(Yodl))
++++++ yodl_3.00.0.orig.tar.gz -> yodl_3.03.0.orig.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/INSTALL.im new/yodl-3.03.0/INSTALL.im
--- old/yodl-3.00.0/INSTALL.im  2010-11-08 15:50:48.000000000 +0100
+++ new/yodl-3.03.0/INSTALL.im  2013-10-09 14:21:36.000000000 +0200
@@ -22,14 +22,18 @@
     // For an operational non-Debian installation, you probably must be
     // `root', and BASE "/usr" or BASE "/usr/local" is suggested (see
     // below). `BASE' itself is not used outside of this file, so feel free to
-    // define BIN, SKEL, MAN and DOC (below) in any which way you like.
+    // define BIN, STD_INCLUDE, MAN, DOC, and DOCDOC (below) in any which way
+    // you like. 
+
+    // However, make sure that BIN, STD_INCLUDE, MAN, DOC and DOCDOC all are
+    // absolute paths
 
 string BIN;
     // the directory in which yodl will be stored
 
-string SKEL;
-    // SKEL is the directory below BASE in which the skeleton files will be
-    // stored
+string STD_INCLUDE;
+    // STD_INCLUDE is the directory in which the skeleton files
+    // will be stored
 
 string MAN;
     // MAN is the directory in which the manual page will be stored
@@ -60,13 +64,15 @@
 {
     BASE    = "/usr";
 
-    BIN     = BASE + "/bin";
-    SKEL    = BASE + "/share/yodl";
-    MAN     = BASE + "/share/man";    
-    DOC     = BASE + "/share/doc/yodl";
-    DOCDOC  = BASE + "/share/doc/yodl-doc";
+    // make sure that BIN, STD_INCLUDE, MAN, DOC and DOCDOC all are
+    // absolute paths
+
+    BIN             = BASE + "/bin";
+    DOC             = BASE + "/share/doc/yodl";
+    DOCDOC          = BASE + "/share/doc/yodl-doc";
+    MAN             = BASE + "/share/man";    
+    STD_INCLUDE     = BASE + "/share/yodl";
 
     COMPILER = "gcc";
-//    COMPILER = "gcc-4.5";
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/INSTALL.txt new/yodl-3.03.0/INSTALL.txt
--- old/yodl-3.00.0/INSTALL.txt 2009-04-27 21:00:05.000000000 +0200
+++ new/yodl-3.03.0/INSTALL.txt 2013-03-02 09:47:57.000000000 +0100
@@ -15,14 +15,14 @@
 To install Yodl using icmake proceed as follows:
 
     1. Define the appropriate locations in setLocations() (at the bottom) of
-INSTALL.im 
+       INSTALL.im 
 
     2. then run:
 
-    ./build programs
-    ./build man 
-    ./build manual
-    ./build macros
+        ./build programs
+        ./build man 
+        ./build manual
+        ./build macros
 
 NOTE: ./build programs must be first, ./build macros must be last, the other
       two are optional
@@ -35,16 +35,16 @@
            system's root directory. All WHERE specifications must be
            identical).
 
-    ./install programs WHERE        - e.g., ./install programs /
-    ./install man WHERE                     ./install man /
-    ./install manual WHERE                  ./install manual /
-    ./install macros WHERE                  ./install macros /
-    ./install docs WHERE                    ./install docs /
-
-    For `./install' there are no ordering requirements but at the very least
-    do 
-        ./install programs WHERE        - e.g., ./install programs /
-        ./install macros WHERE                  ./install macros /
+    ./build install programs WHERE        - e.g., ./build install programs /
+    ./build install man WHERE                     ./build install man /
+    ./build install manual WHERE                  ./build install manual /
+    ./build install macros WHERE                  ./build install macros /
+    ./build install docs WHERE                    ./build install docs /
+
+    For `./build install ...' there are no ordering requirements but at the 
+    very least do 
+        ./build install programs WHERE    - e.g., ./build install programs /
+        ./build install macros WHERE              ./build install macros /
 
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/VERSION new/yodl-3.03.0/VERSION
--- old/yodl-3.00.0/VERSION     2010-11-08 15:50:48.000000000 +0100
+++ new/yodl-3.03.0/VERSION     2013-10-09 14:21:36.000000000 +0200
@@ -1,2 +1,2 @@
-#define VERSION "3.00.0"
-#define YEARS   "1996-2010"
+#define VERSION "3.03.0"
+#define YEARS   "1996-2013"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/build new/yodl-3.03.0/build
--- old/yodl-3.00.0/build       2009-11-17 14:18:40.000000000 +0100
+++ new/yodl-3.03.0/build       2013-10-09 14:21:36.000000000 +0200
@@ -14,26 +14,43 @@
 string  g_lopt;
 string  g_copt;
 string  g_cwd;
-string  g_wip =     "tmp/wip/";
-string  g_install = "tmp/install/";
-string  g_include;
+string  g_wip =     "tmp/wip";          // no slash here
+string  g_install = "tmp/install";      // no slash here
+
 int     g_compiled;
 int     g_nClasses;
 list    g_classes;
 
-
 #include "icmake/run"
 #include "icmake/md"
 #include "icmake/clean"
+#include "icmake/stdcpp"
 #include "icmake/stdcompile"
 #include "icmake/compilerss"
 #include "icmake/builtins"
 #include "icmake/program"
+#include "icmake/buildmacros"
 #include "icmake/manualmacrolist"
 #include "icmake/macros"
 #include "icmake/man"
 #include "icmake/manual"
 #include "icmake/install"
+#include "icmake/sf"
+
+string setOpt(string install_im, string envvar)
+{
+    list optvar;
+    string ret;
+
+    optvar = getenv(envvar);    
+
+    if (optvar[0] == "1")
+        ret = optvar[1];
+    else 
+        ret = install_im;
+
+    return ret;
+}
 
 void main(int argc, list argv)
 {
@@ -42,13 +59,15 @@
     echo(ECHO_REQUEST);
     g_cwd = chdir(".");
 
-    g_copt = COPT + " -g";
+    g_copt = setOpt(COPT + " -g", "CFLAGS");
 
 #ifdef PROFILING
     g_copt = COPT + " -pg";
     g_lopt = "-pg";
 #endif
 
+    g_lopt = setOpt(g_lopt, "LDFLAGS");
+
 #ifdef EXTENSIVE_OPTIONS    
     g_copt = "-O0 -g3 -ansi -pedantic -fno-common -pipe -W -Wall -Wcast-align"
         " -Wcast-qual -Wconversion -Wformat=2 -Winline -Wnested-externs"
@@ -58,27 +77,36 @@
 
     setLocations();
 
+    if (
+        STD_INCLUDE[0] != "/" || BIN[0] != "/"  || MAN[0] != "/"  || 
+        DOC[0] != "/"  || DOCDOC[0] != "/" )
+    {
+        printf("Check INSTALL.im: BIN, DOC, DOCDOC, MAN, STD_INCLUDE, "
+                                                "must be absolute paths\n");
+        exit(1);
+    }
+
     arg1 = argv[1];
 
-    if (arg1 == "clean")
+    if (arg1 == "clean" || arg1 == "distclean")
         cleanupExit();
 
     md(g_install + " " + g_wip);
 
-    g_include = " -I.:" + g_install + SKEL + ":" + g_wip;
-
+//    g_include = " -I.:" + g_install + STD_INCLUDE + ":" + g_wip;
 
     echo(OFF);
-    run("rm -f " + g_wip + "release.yo " + g_wip + "config.h");
+    run("rm -f " + g_wip + "/release.yo " + g_wip + "/config.h");
     echo(ON);
 
-    fprintf(g_wip + "release.yo", "SUBST(_CurVers_)(", VERSION, ")\n",
-                                  "SUBST(_CurYrs_)(", YEARS, ")\n");
-    fprintf(g_wip + "config.h",
-            "#define STD_INCLUDE    \"",    SKEL,   "\"\n"
-            "#define VERSION        \""     VERSION "\"\n"
-            "#define YEARS          \""     YEARS   "\"\n"
-            "#define YODL_BIN       \"",    BIN,    "\"\n"
+    fprintf(g_wip + "/release.yo", "SUBST(_CurVers_)(", VERSION, ")\n",
+                              "SUBST(_CurYrs_)(", YEARS, ")\n");
+
+    fprintf(g_wip + "/config.h",
+        "#define STD_INCLUDE    \"",    STD_INCLUDE,   "\"\n"
+        "#define VERSION        \""     VERSION "\"\n"
+        "#define YEARS          \""     YEARS   "\"\n"
+        "#define YODL_BIN       \"",    BIN,    "\"\n"
     );
 
     if (arg1 == "programs")
@@ -103,9 +131,12 @@
     if (arg1 == "install")
         installExit(argv[2], argv[3]);
 
+    if (arg1 == "sf")
+        sfExit(argv[2]);
+
     printf("Usage: build action\n"
         "Where `action' is one of:\n"
-        "   clean: clean up\n"
+        "   (dist)clean: clean up\n"
         "   programs [strip]:       build the programs\n"
         "   yodl     [strip]:       only build `yodl'\n"
         "   yodlpost [strip]:       only build `yodlpost'\n"
@@ -115,6 +146,7 @@
         "   man    [path]:  build the man-pages, optionally specify: path\n"
         "   manual [path]:  build the manual, optionally specify: path\n"
         "   macros:         build the standard yodl macros\n"
+        "   sf:             internal use only: create the sourceforge files\n"
         "   install programs WHERE:       install the programs under WHERE\n"
         "   install yodl WHERE:           install yodl under WHERE\n"
         "   install yodlpost WHERE:       install yodlpost under WHERE\n"
@@ -131,6 +163,6 @@
         "`path':  yodl is located in $PATH (otherwise just-built programs "
                                                                 "are used).\n"
     );
-    exit(1);
+    exit(0);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/changelog new/yodl-3.03.0/changelog
--- old/yodl-3.00.0/changelog   2010-11-10 09:54:33.000000000 +0100
+++ new/yodl-3.03.0/changelog   2013-10-09 14:21:36.000000000 +0200
@@ -1,3 +1,54 @@
+yodl (3.03.0)
+
+  * Reorganized the macro-construction because of a persistent xlatin1.tex bug
+    (see 3.02.1's changelog entry). The macros for man- and manual-pages are
+    now constructed under tmp/wip, so they can't conflict anymore with the
+    distribution macros which are constructed under tmp/install. The
+    xlatin1.bug was observed intermittently, making its fix kind of
+    difficult. 
+
+  * Added the file icmake/README explaining the steps/elements of the macro
+    construction process.
+
+ -- Frank B. Brokken <f.b.brok...@rug.nl>  Wed, 09 Oct 2013 12:47:12 +0200
+
+yodl (3.02.1)
+
+  * Repaired recurrent bug, fixed since yodl 2.14.4, about missing local-path
+    location specification in scripts/createmacros causing xlatin1.tex to be
+    included as ./xlatin1.tex.
+
+  * Modified Yodl's build script's 'build sf' mode
+
+yodl (3.02.0)
+
+  * Repaired failing `return to parent directory' after INCLUDEFILE
+    bug, intermittently observed th txt-files.
+
+ -- Frank B. Brokken <f.b.brok...@rug.nl>  Tue, 21 May 2013 09:39:58 +0200
+
+yodl (3.01.0)
+
+  * Re-implemented l_chdir in src/lexer/lchdir.c and new_getcwd in
+    src/new/getcwd.c following compilation problems on GNU-hurd, as reported
+    by Svante Signell
+
+  * Yodl's build script now honors CFLAGS en LDFLAGS environment variables.
+
+  * Repaired some inconsistencies in the INSTALL.txt file
+
+  * The yodl2whatever script sets the path to the yodl binaries as configured
+    unless the YODL_BIN environment variable has been set, in which case that
+    environment variable' value is used as the path prefix when calling yodl
+    programs. 
+
+  * Added 'build sf' to create the files to be uploaded to sourceforge. This
+    function is for Internal Use Only
+
+  * Renamed the 'sourceforge' directory to 'sf'
+
+ -- Frank B. Brokken <f.b.brok...@rug.nl>  Sun, 10 Mar 2013 12:37:45 +0100
+
 yodl (3.00.0)
 
   * When including files the included file's directory path becomes the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/icmake/README 
new/yodl-3.03.0/icmake/README
--- old/yodl-3.00.0/icmake/README       1970-01-01 01:00:00.000000000 +0100
+++ new/yodl-3.03.0/icmake/README       2013-10-09 14:21:36.000000000 +0200
@@ -0,0 +1,76 @@
+Creating the macros
+-------------------
+
+Macros for the man- and manual-pages are different from the macros that will
+eventually be stored in, e.g., /usr/share/yodl. The former use the macros
+defined in tmp/wip, the latter the macros in tmp/install/$STD_INCLUDE. The
+macros under tmp/install are installed by 'build install macros'.
+
+STD_INCLUDE is determined from tmp/wip/config.h, which is created in 'build',
+and becomes available after 'build programs'.
+
+------------------------------------------------------------------------------
+
+The script 'scripts/configreplacements' replaces the #defined variables in
+tmp/wip/config.h by their values in various .in files. The configreplacements
+script requires three arguments:
+
+    - the .in file to be processed
+    - the .yo file to create
+    - the path to the macro files. This is either STD_INCLUDE for the
+      distribution macros or tmp/wip/macros when constructing the manual or
+      man-pages 
+
+------------------------------------------------------------------------------
+
+The script 'scripts/stdmacros' creates the std.<format>.yo macro files. It
+requires four arguments:
+
+    - an intermediate filename (g_wip/scratch)
+    - the directory to write the std file into (either tmp/install/... or 
+        tmp/wip/...)
+    - the <format> to use in std.<format>.yo (this is one of the standard
+        formats defined in 'build' at STD_CONVERSIONS
+    - the appropriate STD_INCLUDE to use. This is either STD_INCLUDE as
+        defined in INSTALL.im or it is "./", which is used for the man and
+        manual construction.
+
+
+The macros for the man- and manual-pages are created under tmp/wip/macros, and
+the list of macros is written to tmp/macrolist.yo
+
+------------------------------------------------------------------------------
+
+'build man' creates the man pages. Once defined, the following stamp-files
+prevent recreating them:
+
+    tmp/man-macros-stamp    - the macros for the man(ual) were built
+    tmp/macrolist-stamp     - the documentation of the raw macros was written
+                              to tmp/wip/macrolist.yo
+    tmp/man-stamp           - the manual pages were successfully built
+
+The man-pages are stored under tmp/install/usr/share/man
+
+------------------------------------------------------------------------------
+
+'build manual' creates the manual.  Once defined, the following stamp-files
+prevent recreating them:
+
+    tmp/man-macros-stamp    - the macros for the man(ual) were built
+    tmp/macrolist-stamp     - the documentation of the raw macros was written
+                              to tmp/wip/macrolist.yo
+    tmp/html-manual-stamp   - the manual in html format was successfully built
+    tmp/latex-manual-stamp  - the manual in LaTeX format was successfully
+                              built 
+    tmp/txt-manual-stamp    - the manual in txt format was successfully built
+
+The manual in various formats in stored in tmp/install/usr/share/doc/yodl-doc
+
+------------------------------------------------------------------------------
+
+'build macros' creates the macro files in tmp/install/usr/share/yodl. These
+macro files are part of the distribution. Once defined, reconstructing them is
+prevented by the stamp file:
+
+    tmp/macros-stamp        - macros for $STD_INCLUDE were built
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/icmake/buildmacros 
new/yodl-3.03.0/icmake/buildmacros
--- old/yodl-3.00.0/icmake/buildmacros  1970-01-01 01:00:00.000000000 +0100
+++ new/yodl-3.03.0/icmake/buildmacros  2013-10-09 14:21:36.000000000 +0200
@@ -0,0 +1,67 @@
+    // base is the base location of the macros to build. 
+    // stamp is the stamp to check/create
+    // include path is the location where to find the macros
+    // this should be ./ (local use, for man, manual) or STD_INCLUDE
+    //
+    //  void buildMacros(string base, string stamp, string includePath)
+
+void _configReplacements(string source, string base, string includePath)
+{
+    source = change_ext(source, "");
+
+    run("scripts/configreplacements " + 
+                            "macros/in/" + source + ".in " +
+                            base + source + ".yo " +
+                            includePath);
+}
+
+void _stdMacros(string base, string includePath)
+{
+    list std;
+    int idx;
+    string conversion;
+
+    std = strtok(STD_CONVERSIONS, " ");     // the list of format-conversions
+
+        // Create the std.<format>.yo files, providing scratch filename, 
+        //  destination directory, requested format, and STD_INCLUDE path 
+    for (idx = sizeof(std); idx--; )
+        run("scripts/stdmacros " + 
+                        g_wip + "/scratch " + 
+                        base + " " + 
+                        std[idx] + " " +
+                        includePath);
+}
+
+    // base is the base location of the macros to build. 
+    // stamp is the stamp to check/create
+    // include path is the location where to find the macros
+    // this should be ./ (local use, for man, manual) or STD_INCLUDE
+void buildMacros(string base, string stamp, string includePath)
+{
+    list in;
+    int idx;
+
+    if (exists(stamp))
+        return;
+
+    md(base);
+
+    base += "/";
+
+    chdir("macros/in");             // location of the format-specific macro 
+    in = makelist("*.in");          // files, like html.yo
+    chdir(g_cwd);
+
+    for (idx = sizeof(in); idx--; ) // set the config.h info and create the
+        _configReplacements(in[idx], base, includePath);  // format-specific 
+                                                            // files
+
+    _stdMacros(base, includePath);      // create the std.<format>.yo files,
+                                        // like std.man.yo
+
+    run("cp -r macros/yodl/* " + base); // install chartables, xlatin1.tex 
+                                        // and xml/ files
+
+    run("touch " + stamp);
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/icmake/builtins 
new/yodl-3.03.0/icmake/builtins
--- old/yodl-3.00.0/icmake/builtins     2009-03-27 10:17:56.000000000 +0100
+++ new/yodl-3.03.0/icmake/builtins     2013-10-09 14:21:36.000000000 +0200
@@ -1,4 +1,4 @@
-void remakebuiltins(list files, string builtinsDef)
+void _remakebuiltins(list files, string builtinsDef)
 {
     string file;
     string dest;
@@ -6,7 +6,7 @@
     int idx;
     string gramH;
 
-    gramH = g_wip + "gram.h";
+    gramH = g_wip + "/gram.h";
 
     printf("rebuilding " + builtinsDef + " and " + gramH + "\n");
 
@@ -57,7 +57,7 @@
     int idx;
     string builtinsDef;
 
-    builtinsDef = g_wip + "builtins.def";
+    builtinsDef = g_wip + "/builtins.def";
 
     chdir("src/yodl");
     files = makelist("gram*.c");
@@ -68,7 +68,7 @@
         file = files[idx];
         if ("src/yodl/" + file younger builtinsDef)
         {
-            remakebuiltins(files, builtinsDef);
+            _remakebuiltins(files, builtinsDef);
             break;
         }
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/icmake/clean new/yodl-3.03.0/icmake/clean
--- old/yodl-3.00.0/icmake/clean        2009-03-27 08:47:48.000000000 +0100
+++ new/yodl-3.03.0/icmake/clean        2013-10-08 09:08:42.000000000 +0200
@@ -1,5 +1,5 @@
 void cleanupExit()
 {
-    run("rm -rf tmp");
+    run("rm -rf tmp ../sf/index.html");
     exit(0);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/icmake/compilerss 
new/yodl-3.03.0/icmake/compilerss
--- old/yodl-3.00.0/icmake/compilerss   2009-03-27 10:18:42.000000000 +0100
+++ new/yodl-3.03.0/icmake/compilerss   2013-10-09 14:21:36.000000000 +0200
@@ -7,6 +7,6 @@
     g_classes = strtok(CLASSES, " ");         // list of classes
     g_nClasses = sizeof(g_classes);
 
-    makeLibrary(g_wip + "rss", g_wip + "libyodl.a"); // in stdcompile
+    makeLibrary(g_wip + "/rss", g_wip + "/libyodl.a"); // in stdcompile
 }
  
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/icmake/install 
new/yodl-3.03.0/icmake/install
--- old/yodl-3.00.0/icmake/install      2009-04-15 21:46:40.000000000 +0200
+++ new/yodl-3.03.0/icmake/install      2013-10-09 14:21:36.000000000 +0200
@@ -1,4 +1,4 @@
-void installYodl2(string where)
+void _installYodl2(string where)
 {
     list conversions;
     int idx;
@@ -12,7 +12,7 @@
     run("chmod +x " + where + BIN +  "/yodl2*");
 }
 
-void installYodlConverters(string where)
+void _installYodlConverters(string where)
 {
     list conversions;
     int idx;
@@ -31,7 +31,7 @@
         md(where + BIN);
         run("cp " + g_install + BIN + "/* " + where + BIN);
         run("chmod +x " + where + BIN +  "/yodlstriproff");
-        installYodl2(where);
+        _installYodl2(where);
 
         exit(0);
     }
@@ -70,7 +70,7 @@
         md(where + BIN);
         run("cp " + g_install + BIN + "/yodl2whatever " + where + BIN);
 
-        installYodl2(where);        
+        _installYodl2(where);        
         exit(0);
     }
 
@@ -78,7 +78,7 @@
     {
         md(where + MAN);
         run("cp -r " + g_install + MAN + "/* " + where + MAN);
-        installYodlConverters(where);
+        _installYodlConverters(where);
         exit(0);
     }
 
@@ -92,8 +92,8 @@
 
     if (what == "macros")
     {
-        md(where + SKEL);
-        run("cp -r " + g_install + SKEL + "/* " + where + SKEL);
+        md(where + STD_INCLUDE);
+        run("cp -r " + g_install + STD_INCLUDE + "/* " + where + STD_INCLUDE);
         exit(0);
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/icmake/macros 
new/yodl-3.03.0/icmake/macros
--- old/yodl-3.00.0/icmake/macros       2009-05-13 11:34:29.000000000 +0200
+++ new/yodl-3.03.0/icmake/macros       2013-10-09 14:21:36.000000000 +0200
@@ -1,67 +1,7 @@
-void configReplacements(string source, string local)
-{
-    string dst;
-
-    source = change_ext(source, "");
-    dst = g_install + SKEL + "/" + source + ".yo";
-
-    run("scripts/configreplacements " + "macros/in/" + source + ".in " +
-        dst + " " + local);
-}
-
-void stdMacros(string local)
-{
-    list std;
-    int idx;
-    string conversion;
-
-    std = strtok(STD_CONVERSIONS, " ");
-
-    for (idx = sizeof(std); idx--; )
-        run("scripts/createmacros " + g_wip + " " + 
-                                      g_install + SKEL + " " + std[idx] + 
-                                      " " + local);
-}
-
-void buildMacros(string local)
-{
-    list in;
-    int idx;
-
-    if 
-    (
-        local == "" && exists("tmp/macros-stamp")
-        ||
-        local != "" && exists("tmp/man-macros-stamp")
-    )
-        return;
-
-    system("rm -f tmp/macros-stamp tmp/man-macros-stamp");
-    
-    md(g_install + SKEL);
-
-    chdir("macros/in");
-    in = makelist("*.in");
-    chdir(g_cwd);
-
-    for (idx = sizeof(in); idx--; )
-        configReplacements(in[idx], local);
-
-    stdMacros(local);
-
-    run("cp -r macros/yodl/* " + g_install + SKEL);
-
-    
-    if (local == "")
-        run("touch tmp/macros-stamp");
-    else
-        run("touch tmp/man-macros-stamp");
-}
-
-
 void macrosExit()
 {   
-    buildMacros("");
+    buildMacros(g_install + STD_INCLUDE + "/", "tmp/macros-stamp", 
+                                                            STD_INCLUDE);
     exit(0);
 }        
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/icmake/man new/yodl-3.03.0/icmake/man
--- old/yodl-3.00.0/icmake/man  2009-05-15 08:27:09.000000000 +0200
+++ new/yodl-3.03.0/icmake/man  2013-10-09 14:21:36.000000000 +0200
@@ -1,63 +1,70 @@
-void man(string source, string nr, int usePath)
+void _man(string source, string nr, int usePath, string macroBase)
 {
     string manDst;
     string nrs;
-    string install;
+    string includes;
 
     nrs = (string)nr;
-
     manDst = g_install + MAN + "/man" + nrs + "/" + source + "." + nrs;
+    includes = " -I.:" + g_wip + ":" + macroBase;
 
     run("scripts/configreplacements " +
                         "man/" + source + ".in " + 
-                        g_wip + "manyo.yo");
+                        g_wip + "/manyo.yo " +
+                        macroBase);
 
-    // manYo.yo is the file to convert to a man-page
+    // manyo.yo is the file to convert to a man-page
     
-    if (usePath)
-        run("yodl2man" + g_include +
+    if (usePath)                // use yodl/yodlpost via yodl2man
+    {
+        putenv("YODL_BIN=" + g_cwd + g_install + BIN);
+        run("yodl2man" + includes +
                         " -o" + manDst + " " 
                         "manyo");
+    }
     else
     {
-        run(g_install + BIN + "/yodl" + g_include +
-                            " -o" + g_wip + "out "
-                            "man manyo");
+        run(g_install + BIN + "/yodl" + includes +
+                            " -o" + g_wip + "/out man manyo");
 
         run(g_install + BIN + "/yodlpost " 
-                            + g_wip + "out.idx " + g_wip + "out " +
-                            manDst);
+                            + g_wip + "/out.idx " + g_wip + "/out " + manDst);
     }
 }
 
 void manExit(string path)
 {
     int usePath;
+    string macroBase;
 
-    if (exists("tmp/man-stamp"))
+    usePath = path == "path";
+    macroBase = g_wip + "/macros";
+
+    if (exists("tmp/man-stamp"))        // man-pages are available
         exit(0);
 
-    if (exists("tmp/macros-stamp"))
-        system("rm -f tmp/macros-stamp tmp/man-macros-stamp");
+                                        // build the macros for the man(ual)
+                                        // "./": use the current dir for 
+                                        // finding macros
+    buildMacros(macroBase, "tmp/man-macros-stamp", "./");
 
-    buildMacros("./");
-    manualMacroList();
+    manualMacroList();                  // create the documentation in 
+                                        // tmp/wip/macrolist.yo
 
+                                      // where to install the man-pages
     md(g_install + MAN + "/man1 " + g_install + MAN + "/man7");
 
-    usePath = path == "path";
-
-    man("yodl",             "1", usePath);
-    man("yodlpost",         "1", usePath);
-    man("yodlconverters",   "1", usePath);
-    man("yodlverbinsert",   "1", usePath);
-    man("yodlstriproff",    "1", usePath);
+    _man("yodl",            "1", usePath, macroBase);
+    _man("yodlpost",        "1", usePath, macroBase);
+    _man("yodlconverters",  "1", usePath, macroBase);
+    _man("yodlverbinsert",  "1", usePath, macroBase);
+    _man("yodlstriproff",   "1", usePath, macroBase);
 
 
-    man("yodlbuiltins", "7", usePath);
-    man("yodlmanpage",  "7", usePath);
-    man("yodlletter",   "7", usePath);
-    man("yodlmacros",   "7", usePath);
+    _man("yodlbuiltins",    "7", usePath, macroBase);
+    _man("yodlmanpage",     "7", usePath, macroBase);
+    _man("yodlletter",      "7", usePath, macroBase);
+    _man("yodlmacros",      "7", usePath, macroBase);
 
     run("touch tmp/man-stamp");
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/icmake/manual 
new/yodl-3.03.0/icmake/manual
--- old/yodl-3.00.0/icmake/manual       2010-11-08 15:50:47.000000000 +0100
+++ new/yodl-3.03.0/icmake/manual       2013-10-09 14:21:36.000000000 +0200
@@ -1,31 +1,36 @@
-void buildManual(string conversion, int usePath)
+void _manual(string conversion, int usePath, string macroBase)
 {
-    string include;
+    string includes;
     string manualDestination;
 
     if (exists("tmp/" + conversion + "-manual-stamp"))
         return;
 
-    include = g_include + ":manual/yo";
+    includes = " -I.:" + g_wip + ":" + macroBase + ":manual/yo";
 
-    manualDestination =  g_install + DOCDOC + "/yodl." + conversion ;
+    manualDestination =  g_install + DOCDOC;
 
     if (usePath)
-        run("yodl2" + conversion + include + 
+    {
+        putenv("YODL_BIN=" + g_cwd + g_install + BIN);
+        run("yodl2" + conversion + includes + 
             " -o" + manualDestination +
             " manual");
+    }
     else
     {
-        run(g_install + BIN + "/yodl" + include + 
-                            " -o" + g_wip + "out " +
+        run(g_install + BIN + "/yodl" + includes + 
+                            " -o" + g_wip + "/out " +
                             conversion + " manual");
-
         if (conversion == "latex")
-            run("mv " + g_wip + "out " + g_install + DOCDOC + "/yodl.latex");
+            run("mv " + g_wip + "/out " + g_install + DOCDOC + "/yodl.latex");
         else
+        {
             run(g_install + BIN + "/yodlpost "
-                        + g_wip + "out.idx " + g_wip + "out " +
-                        manualDestination);
+                        + g_wip + "/out.idx " + g_wip + "/out " +
+                        "yodl." + conversion);
+            run("mv yodl*." + conversion + " " + manualDestination);
+        }
     }
 
     if (conversion == "latex")
@@ -44,27 +49,44 @@
     run("touch tmp/" + conversion + "-manual-stamp");
 }
 
-void manualExit(string path)
+void manualMayExit(string path, int doExit) // doExit == 0, then only html
 {
     int idx;
     int usePath;
+    string macroBase;
 
     usePath = path == "path";
+    macroBase = g_wip + "/macros";
 
-    manualMacroList();
-
-    if (exists("tmp/macros-stamp"))
-        system("rm -f tmp/macros-stamp tmp/man-macros-stamp");
+                                       // build the macros for the man(ual)
+                                       // "./": use the current dir for 
+                                       // finding macros
+    buildMacros(macroBase, "tmp/man-macros-stamp", "./");
 
-    buildMacros("./");
+    manualMacroList();
     
     md(g_install + DOCDOC);
 
-    buildManual("html", usePath);
-    system("scripts/hrefnotmpinstall");
+    _manual("html", usePath, macroBase);
 
-    buildManual("txt", usePath);
-    buildManual("latex", usePath);
+    if (doExit)
+    {
+        _manual("txt", usePath, macroBase);
+        _manual("latex", usePath, macroBase);
+        exit(0);
+    }
+}
 
-    exit(0);
+void manualExit(string path)
+{
+    manualMayExit(path, 1);
 }
+
+
+
+
+
+
+
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/icmake/manualmacrolist 
new/yodl-3.03.0/icmake/manualmacrolist
--- old/yodl-3.00.0/icmake/manualmacrolist      2009-03-27 10:26:54.000000000 
+0100
+++ new/yodl-3.03.0/icmake/manualmacrolist      2013-10-09 14:21:36.000000000 
+0200
@@ -1,3 +1,5 @@
+    // manualMacroList creates the macros for the man- and manual-pages in
+    // the file tmp/wip/macrolist.yo
 void manualMacroList()
 {
     list raw;
@@ -13,8 +15,10 @@
     echo(OFF);
     for (idx = 0; idx < sizeof(raw); idx++)
     {
+            // pick the documentation from the raw macros (delimited by the
+            // <STARTDOC> and <> tags) and append it to macrolist.yo
         system("./startdoc.pl " + raw[idx] + " >> " 
-                                        "../../" + g_wip + "macrolist.yo");
+                                        "../../" + g_wip + "/macrolist.yo");
         printf(".");
     }
     echo(ON);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/icmake/program 
new/yodl-3.03.0/icmake/program
--- old/yodl-3.00.0/icmake/program      2009-04-15 21:18:10.000000000 +0200
+++ new/yodl-3.03.0/icmake/program      2013-10-09 14:21:36.000000000 +0200
@@ -1,21 +1,28 @@
-void buildProgram(string program)
+void _link(string program)
 {
-    std_cpp(g_wip + program, 0, program, "");
-    link(program);
+    exec(COMPILER, "-o", g_install + BIN + "/" + program,
+                    g_wip + "/" + program + "/*.o", 
+                    "-L" + g_wip, "-lyodl", g_lopt);
 }
 
-void programYodl()
+void _buildProgram(string program)
+{
+    std_cpp(g_wip + "/" + program, 0, program, "");
+    _link(program);
+}
+
+void _programYodl()
 {
     buildBuiltins();
-    buildProgram("yodl");
+    _buildProgram("yodl");
 }
 
-void programYodlpost()
+void _programYodlpost()
 {
-    buildProgram("yodlpost");
+    _buildProgram("yodlpost");
 }
 
-void programYodlverbinsert()
+void _programYodlverbinsert()
 {
     run(COMPILER + " -o " + g_install + BIN + "/yodlverbinsert " + g_copt +
                    " src/verbinsert/verbinsert.c " + g_lopt);
@@ -31,7 +38,8 @@
     if (target == "programs" || target == "yodl2whatever")
         run("scripts/configreplacements " +
                         "scripts/yodl2whatever.in " + 
-                        g_install + BIN + "/yodl2whatever");
+                        g_install + BIN + "/yodl2whatever " +
+                        g_install);
 
     if (target == "yodlstriproff" || target == "yodl2whatever")
         return;
@@ -39,18 +47,18 @@
     compileRSS();
 
     if (target == "programs" || target == "yodl")
-        programYodl();
+        _programYodl();
 
     if (target == "programs" || target == "yodlpost")
-        programYodlpost();
+        _programYodlpost();
 
     if (target == "programs" || target == "yodlverbinsert")
-        programYodlverbinsert();
+        _programYodlverbinsert();
 
 }
 
-void programExit(string target, string strip)
-{
+void programExit(string target, string strip)   // build one program, 
+{                                               // called from main
     #ifndef PROFILING
         if (strip == "strip")
             g_lopt = "-s";
@@ -60,8 +68,8 @@
     exit(0);
 }
 
-void programsExit(string strip)
-{
+void programsExit(string strip)                 // build all programs,
+{                                               // called from main
     #ifndef PROFILING
         if (strip == "strip")
             g_lopt = "-s";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/icmake/run new/yodl-3.03.0/icmake/run
--- old/yodl-3.00.0/icmake/run  2009-03-27 12:19:31.000000000 +0100
+++ new/yodl-3.03.0/icmake/run  2013-10-09 14:21:36.000000000 +0200
@@ -1,6 +1,5 @@
 int g_dryrun;       // set to 1 if envvar DRYRUN was set in main()
 
-
 void runP(int testValue, string cmd)
 {
     if (g_dryrun)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/icmake/sf new/yodl-3.03.0/icmake/sf
--- old/yodl-3.00.0/icmake/sf   1970-01-01 01:00:00.000000000 +0100
+++ new/yodl-3.03.0/icmake/sf   2013-10-09 14:21:36.000000000 +0200
@@ -0,0 +1,11 @@
+void sfExit(string path)
+{
+    program("programs");
+    manualMayExit(path, 0);     // create the manual using the new progs
+
+    putenv("YODL_BIN=" + g_cwd + g_install + BIN);
+    run("yodl2html -o ../sf/index.html -I.:tmp/install/usr/share/yodl "
+                                                        "../sf/index.yo");
+    exit(0);
+}
+    
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/icmake/stdcompile 
new/yodl-3.03.0/icmake/stdcompile
--- old/yodl-3.00.0/icmake/stdcompile   2009-03-27 10:20:19.000000000 +0100
+++ new/yodl-3.03.0/icmake/stdcompile   2013-10-09 14:21:36.000000000 +0200
@@ -1,98 +1,4 @@
-void link(string program)
-{
-    exec(COMPILER, "-o", g_install + BIN + "/" + program,
-                    g_wip + program + "/*.o", 
-                    "-L" + g_wip, "-lyodl", g_lopt);
-}
-
-list inspect(string dstPrefix, list srcList, string library)
-{
-    int idx;
-    string ofile;
-    string file;
-
-    for (idx = sizeof(srcList); idx--; )
-    {
-        file  = element(idx, srcList);   
-        ofile   = dstPrefix + change_ext(file, "o");    // make o-filename
-
-        // A file s must be recompiled if it's newer than its object
-        // file o or newer than its target library l, or if neither o nor l
-        // exist. 
-        // Since `a newer b' is true if a is newer than b, or if a exists and
-        // b doesn't exist s must be compiled if s newer o and s newer l.
-        // So, it doesn't have to be compiled if s older o or s older l.
-                                            // redo if file has changed
-        if (file older ofile || file older library)
-            srcList -= (list)file;
-    }
-    return srcList;
-}
-
-list inspect2(string dstPrefix, list srcList)
-{
-    int idx;
-    string ofile;
-    string file;
-
-    for (idx = sizeof(srcList); idx--; )
-    {
-        file  = element(idx, srcList);   
-        ofile   = dstPrefix + change_ext(file, "o");    // make o-filename
-
-        // A file s must be recompiled if it's newer than its object
-        // file o 
-
-        if (file older ofile)
-            srcList -= (list)file;
-    }
-    return srcList;
-}
-
-// c_compile: compile all sources in `{srcDir}/{cfiles}', storing the object
-// files in  {oDst}/filename.o
-void c_compile(string oDst, list cfiles)
-{
-    int idx;
-    string compdest;
-    string file;
-
-    compdest = COMPILER + " -c -o " + oDst;
-
-    for (idx = sizeof(cfiles); idx--; )
-    {
-        file = cfiles[idx];
-        g_compiled = 1;        
-        run(compdest + change_ext(file, "o") + " " + g_copt + " -c " + file);
-    }
-}
-
-void std_cpp(string oDstDir, int prefix, string srcDir, string library)
-{
-    list files;
-
-    chdir("src/" + srcDir);
-    oDstDir = "../../" + oDstDir;
-    md(oDstDir);
-    oDstDir += "/" + (string)prefix;
-
-                                // make list of all files
-    if (library == "")
-        files = inspect2(oDstDir, makelist("*.c"));
-    else
-        files = inspect(oDstDir, makelist("*.c"), g_cwd + library);  
-
-    if (sizeof(files))
-    {
-        printf("Compiling sources in `src/" + srcDir + "'\n");
-        c_compile(oDstDir, files);     // compile files
-    }
-
-    chdir(g_cwd);
-}
-
-
-void static_library(string ofiles, string library)
+void _static_library(string ofiles, string library)
 {
     if (!exists(library) || g_compiled)
     {
@@ -114,7 +20,7 @@
         std_cpp(oDstDir, index, g_classes[index], library); 
 
                                             // make the library
-    static_library(oDstDir + "/*.o", library);
+    _static_library(oDstDir + "/*.o", library);
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/icmake/stdcpp 
new/yodl-3.03.0/icmake/stdcpp
--- old/yodl-3.00.0/icmake/stdcpp       1970-01-01 01:00:00.000000000 +0100
+++ new/yodl-3.03.0/icmake/stdcpp       2013-10-09 14:21:36.000000000 +0200
@@ -0,0 +1,85 @@
+list _inspect(string dstPrefix, list srcList, string library)
+{
+    int idx;
+    string ofile;
+    string file;
+
+    for (idx = sizeof(srcList); idx--; )
+    {
+        file  = element(idx, srcList);   
+        ofile   = dstPrefix + change_ext(file, "o");    // make o-filename
+
+        // A file s must be recompiled if it's newer than its object
+        // file o or newer than its target library l, or if neither o nor l
+        // exist. 
+        // Since `a newer b' is true if a is newer than b, or if a exists and
+        // b doesn't exist s must be compiled if s newer o and s newer l.
+        // So, it doesn't have to be compiled if s older o or s older l.
+                                            // redo if file has changed
+        if (file older ofile || file older library)
+            srcList -= (list)file;
+    }
+    return srcList;
+}
+
+list _inspect2(string dstPrefix, list srcList)
+{
+    int idx;
+    string ofile;
+    string file;
+
+    for (idx = sizeof(srcList); idx--; )
+    {
+        file  = element(idx, srcList);   
+        ofile   = dstPrefix + change_ext(file, "o");    // make o-filename
+
+        // A file s must be recompiled if it's newer than its object
+        // file o 
+
+        if (file older ofile)
+            srcList -= (list)file;
+    }
+    return srcList;
+}
+
+// c_compile: compile all sources in `{srcDir}/{cfiles}', storing the object
+// files in  {oDst}/filename.o
+void _c_compile(string oDst, list cfiles)
+{
+    int idx;
+    string compdest;
+    string file;
+
+    compdest = COMPILER + " -c -o " + oDst;
+
+    for (idx = sizeof(cfiles); idx--; )
+    {
+        file = cfiles[idx];
+        g_compiled = 1;        
+        run(compdest + change_ext(file, "o") + " " + g_copt + " -c " + file);
+    }
+}
+
+void std_cpp(string oDstDir, int prefix, string srcDir, string library)
+{
+    list files;
+
+    chdir("src/" + srcDir);
+    oDstDir = "../../" + oDstDir;
+    md(oDstDir);
+    oDstDir += "/" + (string)prefix;
+
+                                // make list of all files
+    if (library == "")
+        files = _inspect2(oDstDir, makelist("*.c"));
+    else
+        files = _inspect(oDstDir, makelist("*.c"), g_cwd + library);  
+
+    if (sizeof(files))
+    {
+        printf("Compiling sources in `src/" + srcDir + "'\n");
+        _c_compile(oDstDir, files);     // compile files
+    }
+
+    chdir(g_cwd);
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/macros/rawmacros/startdoc.pl 
new/yodl-3.03.0/macros/rawmacros/startdoc.pl
--- old/yodl-3.00.0/macros/rawmacros/startdoc.pl        2007-02-16 
10:59:13.000000000 +0100
+++ new/yodl-3.03.0/macros/rawmacros/startdoc.pl        2013-10-09 
14:21:36.000000000 +0200
@@ -1,7 +1,10 @@
 #!/usr/bin/perl
 
-$target = "STARTDOC";
-$file = $ARGV[0];
+    # The documentation of the macro in $file is extracted from $file and
+    # written to stdout.
+
+$target = "STARTDOC";               # A marker fo the documentation in $file
+$file = $ARGV[0];                   # file to process: a raw macro file
 $copy = 0;
 $printed = 0;
 
@@ -11,16 +14,16 @@
 {
     chomp $line;
 
-    if ($line =~ /^<$target>\s*$/c)
+    if ($line =~ /^<$target>\s*$/c)     # start tag found
     {
         $copy = 1;
     }
-    elsif ($line =~ /^<>\s*$/c)
+    elsif ($line =~ /^<>\s*$/c)         # end tag found
     {
         print "\n" if $printed;
         exit 0;
     }
-    elsif ($copy)
+    elsif ($copy)                       # copy a documentation line
     {
         print "$line\n";
         $printed = 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/macros/yodl/xlatin1.tex 
new/yodl-3.03.0/macros/yodl/xlatin1.tex
--- old/yodl-3.00.0/macros/yodl/xlatin1.tex     2007-02-16 10:59:11.000000000 
+0100
+++ new/yodl-3.03.0/macros/yodl/xlatin1.tex     2012-05-27 11:03:00.000000000 
+0200
@@ -5,7 +5,7 @@
 %   See below on copyright stuff etc.
 %   Distributed with Yodl 1.32.00
 % 
-%% xlatin1.tex derived from $Id: xlatin1.tex 2 2004-09-11 19:41:10Z frank $
+%% xlatin1.tex derived from $Id$
 %%
 %% Interpret the full ISO Latin1 (8859-1) input character set for TeX.
 %% Copyright (c) 1991  Kristoffer H�gsbro Rose <k...@diku.dk>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/manual/yo/manual.yo 
new/yodl-3.03.0/manual/yo/manual.yo
--- old/yodl-3.00.0/manual/yo/manual.yo 2009-04-28 09:44:08.000000000 +0200
+++ new/yodl-3.03.0/manual/yo/manual.yo 2013-10-09 14:21:36.000000000 +0200
@@ -1,7 +1,10 @@
+NOUSERMACRO(t xrealloc argument document conversion extension lex find)
+
 latexpackage()(a4,epsf)
 
 whenlatex(\
-    SETSYMBOL(XXusexlatin)(NOTRANS(\input{../../yodl/xlatin1.tex}))
+    SETSYMBOL(XXusexlatin)
+        (NOTRANS(\input{../../../../../wip/macros/xlatin1.tex}))
 )
 
 SUBST(YODL)(tt(Yodl))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/scripts/configreplacements 
new/yodl-3.03.0/scripts/configreplacements
--- old/yodl-3.00.0/scripts/configreplacements  2009-04-27 21:00:05.000000000 
+0200
+++ new/yodl-3.03.0/scripts/configreplacements  2013-10-09 14:21:36.000000000 
+0200
@@ -2,30 +2,27 @@
 
 CONFIG="tmp/wip/config.h"
 
-case $# in
-    (2)
-        STD_INCLUDE=`grep "#define[[:space:]]\+STD_INCLUDE" $CONFIG | \
-                    sed 's,.*STD_INCLUDE[[:space:]]\+\"\([^"]\+\)".*,\1,'`
+    # This script changes all definitions of elements in $CONFIG in the
+    # file passed as arg 1, generating arg 2. 
+    # The default path to the macro files in $CONFIG can be overrules
+    # by a 3rd argument. 
 
-        # keep as is
-    ;;
-    
+case $# in
     (3)
+        YODL_BIN=`grep YODL_BIN $CONFIG | cut -d\" -f2`
+        VERSION=`grep VERSION $CONFIG | cut -d\" -f2`
         STD_INCLUDE=$3
     ;;
 
     (*)
-        echo "Usage: $0 xxx.in xxx.yo [actual-path-to-macro-files]"
+        echo "Usage: $0 xxx.in xxx.yo path-to-macro-files"
         exit 1
     ;;
 esac
 
-YODL_BIN=`grep "#define[[:space:]]\+YODL_BIN" $CONFIG | \
-            sed 's,.*YODL_BIN[[:space:]]\+\"\([^"]\+\)".*,\1,'`
-
-VERSION=`grep "#define[[:space:]]\+VERSION" $CONFIG | \
-            sed 's,.*VERSION[[:space:]]\+\"\([^"]\+\)".*,\1,'`
-
+    # Create the destination file, changing @... into the required
+    # values
+    #
 sed '
 s,@STD_INCLUDE@,'$STD_INCLUDE',g
 s,@YODL_BIN@,'$YODL_BIN',g
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/scripts/createmacros 
new/yodl-3.03.0/scripts/createmacros
--- old/yodl-3.00.0/scripts/createmacros        2009-05-13 11:27:08.000000000 
+0200
+++ new/yodl-3.03.0/scripts/createmacros        1970-01-01 01:00:00.000000000 
+0100
@@ -1,31 +0,0 @@
-#!/bin/bash
-
-if [ "$#" == "0" ] ; then
-    echo provide WIP path, destination path and requested format
-    exit 1
-fi
-
-WIP=$1/macros
-DST=$2
-FMT=$3
-LOCAL=$4
-
-echo "
-INCWSLEVEL()
-
-DEFINESYMBOL($FMT)()
-" > $WIP
-
-for x in macros/rawmacros/*.raw 
-do
-    scripts/macroseparator.pl $FMT $x  >> $WIP
-done
-
-echo "DECWSLEVEL()" >> $WIP
-
-scripts/configreplacements $WIP $DST/std.$FMT.yo $LOCAL
-
-
-
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/scripts/hrefnotmpinstall 
new/yodl-3.03.0/scripts/hrefnotmpinstall
--- old/yodl-3.00.0/scripts/hrefnotmpinstall    2009-11-04 20:31:12.000000000 
+0100
+++ new/yodl-3.03.0/scripts/hrefnotmpinstall    1970-01-01 01:00:00.000000000 
+0100
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-cd tmp/install/usr/share/doc/yodl-doc
-for  x in *html
-do
-    sed 's,href="tmp/install//usr/share/doc/yodl-doc/,href=",g' $x > $x.tmp
-    mv $x.tmp $x
-done
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/scripts/stdmacros 
new/yodl-3.03.0/scripts/stdmacros
--- old/yodl-3.00.0/scripts/stdmacros   1970-01-01 01:00:00.000000000 +0100
+++ new/yodl-3.03.0/scripts/stdmacros   2013-10-09 14:21:36.000000000 +0200
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+if [ "$#" == "0" ] ; then
+    echo provide scratch filename, destination directory, requested format
+    echo and STD_INCLUDE path to use
+    exit 1
+fi
+
+scratchFile=$1
+directory=$2
+format=$3
+std_include=$4
+
+    # the standard macro file $directory/std.${format}.yo is created 
+
+echo "
+INCWSLEVEL()
+
+DEFINESYMBOL($format)()
+" > $scratchFile
+
+for x in macros/rawmacros/*.raw 
+do
+    scripts/macroseparator.pl $format $x  >> $scratchFile
+done
+
+echo "DECWSLEVEL()" >> $scratchFile
+
+scripts/configreplacements $scratchFile \
+                           $directory/std.${format}.yo $std_include
+
+
+
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/scripts/yodl2whatever.in 
new/yodl-3.03.0/scripts/yodl2whatever.in
--- old/yodl-3.00.0/scripts/yodl2whatever.in    2010-11-08 15:50:47.000000000 
+0100
+++ new/yodl-3.03.0/scripts/yodl2whatever.in    2013-10-08 09:08:42.000000000 
+0200
@@ -10,7 +10,8 @@
 
 verbose=no
 
-YODL_BIN=@YODL_BIN@
+# Internal Use Only: redefine yodl's path by setting an environment variable
+[ "$YODL_BIN" == "" ] && YODL_BIN=@YODL_BIN@
 
 YODL=${YODL_BIN}/yodl
 YODLPOST=${YODL_BIN}/yodlpost
Files old/yodl-3.00.0/src/handlexmltocentry.o and 
new/yodl-3.03.0/src/handlexmltocentry.o differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/src/lexer/lchdir.c 
new/yodl-3.03.0/src/lexer/lchdir.c
--- old/yodl-3.00.0/src/lexer/lchdir.c  2010-11-08 17:09:36.000000000 +0100
+++ new/yodl-3.03.0/src/lexer/lchdir.c  2012-09-04 22:08:54.000000000 +0200
@@ -7,14 +7,14 @@
 {
 // fprintf(stderr, "CHANGING WD\n");
  
-    char resolved[PATH_MAX];
-    bool cdOK =  realpath(media_filename(lp->d_media_ptr), resolved) != NULL;
-    if (cdOK)
-    {
-        *(strrchr(resolved, '/') + 1) = 0;
-        cdOK = chdir(resolved) == 0;
-    }
-    if (!cdOK)
+    char *resolved = realpath(media_filename(lp->d_media_ptr), NULL);
+
+    if (resolved == NULL)
+        out_of_memory();
+
+    *(strrchr(resolved, '/') + 1) = 0;
+
+    if (chdir(resolved) != 0)
     {
         char const *prefix = NULL;
         if (message_show(MSG_CRIT))
@@ -26,10 +26,9 @@
             message("%s%s (%u): Can't chdir to `%s'", prefix,
                     message_filename(), message_lineno(), resolved);
     }
-}
-
-
 
+    free(resolved);
+}
 
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/src/lexer/lpop.c 
new/yodl-3.03.0/src/lexer/lpop.c
--- old/yodl-3.00.0/src/lexer/lpop.c    2010-11-08 15:50:46.000000000 +0100
+++ new/yodl-3.03.0/src/lexer/lpop.c    2013-10-08 09:08:42.000000000 +0200
@@ -46,12 +46,25 @@
                                             /* reset lp->d_media_ptr to tos */
     lp->d_media_ptr = stack_tos(&lp->d_media_st)->u_voidp;
 
-    if ((oldFile || lastFailed) && media_isFile(lp->d_media_ptr))
-        (*lp->d_chdirFun)(lp, media_filename(lp->d_media_ptr));
-
-    lastFailed = false;
+    if (media_isFile(lp->d_media_ptr))
+    {
+        if (oldFile || lastFailed)
+            (*lp->d_chdirFun)(lp, media_filename(lp->d_media_ptr));
+        lastFailed = false;
+    }
+    else
+        lastFailed = oldFile && !lastFailed;
 
     media_restore_state(lp->d_media_ptr); /* generates MSG_INFO           */
 
     return SUCCESS;
 }
+
+
+
+
+
+
+
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/src/new/newgetcwd.c 
new/yodl-3.03.0/src/new/newgetcwd.c
--- old/yodl-3.00.0/src/new/newgetcwd.c 2010-11-08 15:50:47.000000000 +0100
+++ new/yodl-3.03.0/src/new/newgetcwd.c 2012-09-04 22:08:54.000000000 +0200
@@ -1,18 +1,28 @@
 #include "new.ih"
+#include <stdio.h>
 
 char *new_getcwd()
 {
-    char *cwd =  n_malloc(PATH_MAX + 1);
+    char *cwd = getcwd(NULL, 0);
 
-    if (!getcwd(cwd, PATH_MAX) && message_show(MSG_ALERT))
+    if (cwd == NULL)
+    {
+        if (message_show(MSG_ALERT))
             message("Can't determine current working directory");
+        out_of_memory();
+    }
     
-    size_t length = strlen(cwd);
-    if (cwd[length - 1] != '/')
-    {
-        cwd[length] = '/';
-        cwd[length + 1] = 0;
+    register size_t length = strlen(cwd);   /* e.g. "x" -> 1            */
+
+    if (cwd[length - 1] != '/')             /* true                     */
+    {                                       /* true length: length + 1 
+                                                due to ascii-Z          */
+        new_size(&cwd, length + 2, length + 1, 1);
+
+        cwd[length] = '/';                  /* replaces former ascii-Z  */
+        cwd[length + 1] = 0;                /* writes final ascii-Z     */
     }
+
     return cwd;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yodl-3.00.0/src/new/newsize.c 
new/yodl-3.03.0/src/new/newsize.c
--- old/yodl-3.00.0/src/new/newsize.c   2007-02-16 10:59:15.000000000 +0100
+++ new/yodl-3.03.0/src/new/newsize.c   2012-09-04 22:08:54.000000000 +0200
@@ -1,6 +1,10 @@
 #include "new.ih"
 
-void  *new_size(register void *memory, size_t new, size_t old,
+    /* 
+        NOTE: `memory' must be the address of a pointer pointing to the
+        allocated memory. E.g., it is a char **
+    */
+void *new_size(register void *memory, size_t new, size_t old,
                                             size_t sizeofElement)
 {
     register void *ret =
@@ -12,6 +16,6 @@
                                                     /* available size       */
         );
 
-    free (*(void **)memory);
+    free(*(void **)memory);
     return *(void **)memory = ret;
 }

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to