code: def parse_pseudo_class_custom(self, sel, m, has_selector):
          
  
          pseudo = util.lower(css_unescape(m.group('name')))
          selector = self.custom.get(pseudo)
          if selector is None:
              raise SelectorSyntaxError(
                  "Undefined custom selector '{}' found at postion {}".format(pseudo, m.end(0)),
                  self.pattern,
                  m.end(0)
              )
  
          if not isinstance(selector, ct.SelectorList):
              self.custom[pseudo] = None
              selector = CSSParser(
                  selector, custom=self.custom, flags=self.flags
              ).process_selectors(flags=FLG_PSEUDO)
              self.custom[pseudo] = selector
  
          sel.selectors.append(selector)
          has_selector = True
          return has_selector
docs: Parse custom pseudo class alias.
  
          Compile custom selectors as we need them. When compiling a custom selector,
          set it to `None` in the dictionary so we can avoid an infinite loop.