From bccb429f891ba986caec66ea1417f1ba38246aa0 Mon Sep 17 00:00:00 2001
From: Karl-Hermann Wieners <karl-hermann.wieners@mpimet.mpg.de>
Date: Mon, 23 May 2022 10:21:34 +0200
Subject: [PATCH] Config: fix native variable scan to ignore invalid
 identifiers (e.g. $1)

---
 CHANGES.txt | 1 +
 mkexp       | 7 +++++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 85abb6b..bd1ef16 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -13,6 +13,7 @@ Config
 ------
 
 * Fixed error due to variables at namelist level
+* Fixed recognition of native variables to ignore invalid variable names
 
 Tools
 -----
diff --git a/mkexp b/mkexp
index c464621..d6146cf 100755
--- a/mkexp
+++ b/mkexp
@@ -226,8 +226,11 @@ def format_namelist(section, group=None, default_value=''):
 def format_vars(section, key, log, fmt):
 
     def replace(match):
-        log.add(match.group(1))
-        return fmt%match.group(1)
+        result = match.group(1)
+        if result.isidentifier():
+            log.add(result)
+            return fmt%result
+        return result
     def transform(string):
         return re.sub(r'\$\{(\w+)\}', replace, string)
 
-- 
GitLab