--- a/src/eric7/DebugClients/Python/DebugClientBase.py Mon Oct 10 09:25:29 2022 +0200 +++ b/src/eric7/DebugClients/Python/DebugClientBase.py Tue Oct 11 13:01:02 2022 +0200 @@ -1377,11 +1377,11 @@ frmnr -= 1 if f is None: - if scope: + if scope == 1: varDict = self.debugMod.__dict__ else: scope = -2 - elif scope: + elif scope == 1: varDict = f.f_globals elif f.f_globals is f.f_locals: scope = -1 @@ -1429,11 +1429,11 @@ frmnr -= 1 if f is None: - if scope: + if scope == 1: varDict = self.debugMod.__dict__ else: scope = -1 - elif scope: + elif scope == 1: varDict = f.f_globals elif f.f_globals is f.f_locals: scope = -1 @@ -1448,7 +1448,7 @@ idx, varDict = next(varGen) if idx != -2: # more elements available var.insert(0, idx) - varlist = self.__formatVariablesList(varDict, scope, filterList, var) + varlist = self.__formatVariablesList(varDict, scope, filterList, var[1:]) elif scope != -1: variable = varDict # Lookup the wanted attribute @@ -1502,14 +1502,15 @@ @type list of tuple of (str, Any) or (str, str, Any) @param scope 1 to filter using the globals filter, 0 using the locals filter. - Variables are only added to the list, if their name do not match - any of the filter expressions. + Variables are only added to the list, if their access path does not match + any of the filter expressions and the 'show/no show' indication. @type int @param filterList list of variable types to be filtered. Variables are only added to the list, if their type is not contained in the filter list. (defaults to None) @type list of str (optional) - @param var list encoded name of the requested variable (defaults to None) + @param var list encoded name of the requested variable (access path) (defaults + to None) @type list of str and int (optional) @return A tuple consisting of a list of formatted variables. Each variable entry is a tuple of three elements, the variable name, @@ -1668,7 +1669,8 @@ else: showFlag = True if filterString: - pattern = filterString.replace(";", "|") + filterList = filterString.split(";") + pattern="|".join(f.strip() for f in filterList) with contextlib.suppress(re.error): patternFilterObjects = re.compile(pattern) else: