src/eric7/DebugClients/Python/DebugClientBase.py

branch
eric7
changeset 9397
a415cb83dafb
parent 9396
06699e5600a3
child 9401
38514063ecee
--- 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:

eric ide

mercurial