From 591c2c448e03ba06d01faff56f3970ac2d88fc1a Mon Sep 17 00:00:00 2001 From: David Poole Date: Mon, 26 Jun 2023 16:42:10 -0600 Subject: [PATCH] fix shortcut patsubs with empty pattern oops; forgot to commit the actual fix last commit --- pymake/symtablemk.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pymake/symtablemk.py b/pymake/symtablemk.py index d50e157..95ea8e4 100644 --- a/pymake/symtablemk.py +++ b/pymake/symtablemk.py @@ -323,14 +323,15 @@ def _parse_abbrev_patsubst(self, key): def _eval_abbrev_patsubst(self, key): # allow exception(s) to propagate varname, pat1, pat2 = self._parse_abbrev_patsubst(key) +# logger.debug("abbrev varname=%r pat1=%r pat2=%4", varname, pat1, pat2) pat1_len = len(pat1) - def maybe_replace(s,pat1,pat2): - if s.endswith(pat1): - return s[:-pat1_len] + pat2 - return s value = self.fetch(varname) - new_value = " ".join([maybe_replace(s,pat1,pat2) for s in value.split()]) + if pat1_len == 0: + # pat1 empty so it's a simple append operation + return " ".join([s+pat2 for s in value.split()]) + + new_value = " ".join([s[:-pat1_len] + pat2 if s.endswith(pat1) else s for s in value.split()]) return new_value def fetch(self, key, pos=None):