backend.py
changeset 29 6a8a7951d8e6
parent 22 3a2bd70c01df
child 31 d3dddb80d1f5
--- a/backend.py	Tue Feb 05 17:45:35 2019 +0100
+++ b/backend.py	Fri Feb 15 10:45:50 2019 +0100
@@ -1,4 +1,4 @@
-# 2.5.8 backend
+# 2.5.10 backend
 
 # written by VB.
 
@@ -6,7 +6,7 @@
 import fileinput
 import sys, traceback, exceptions, os
 from xml.sax.saxutils import escape, quoteattr
-from copy import deepcopy
+from copy import copy, deepcopy
 from glob import glob
 from pyPEG import code, parse, parseLine, u, Symbol
 from yml2 import ymlCStyle, comment, _inner
@@ -495,11 +495,15 @@
 
         try:
             ymlFunc[name]
-        except:
+        except KeyError:
             try:
-                ymlFunc["_"]
-                return codegen(('func', ['_', ('content', [('funclist', [obj])])]))
-            except:
+                if ymlFunc["_"].alias != u"-":
+                    return codegen(('func', ['_', ('content', [('funclist', [obj])])]))
+                else:
+                    ymlFunc[name] = copy(ymlFunc["_"])
+                    ymlFunc[name].alias = name.replace("_", "-")
+                    return codegen(obj)
+            except KeyError:
                 ymlFunc[name] = YF(name)
         
         if ymlFunc[name].alias == "-": avoidTag = True