code: def _pop_from_list(bracket, lst, line, real_pos, offset, msg_stack):
      
      # Try to spot a case when a square bracket is used to close a round bracket
      # block
      if bracket == ']':
          correct_closer = '['
      elif bracket == ')':
          correct_closer = '('
      else:
          correct_closer = '{'
      if lst != []:
          popped = lst.pop()
          popped_char = popped['character']
          popped_pos = popped['line_number']
          popped_offset = popped['bracket_pos']
          if popped_char is not correct_closer:
              message = "Bracket `%s' does not match `%s' at (%d, %d)"
              message = message % (bracket, popped_char, popped_pos, popped_offset)
              warning_info = {
                  'msg': message,
                  'line': line,
                  'column': real_pos
              }
              msg_stack.append(warning_info)
      else:
          # If the list is empty and a closing bracket is found, it means we have
          # excess brackets. That warning is issued here. The coordinates used
          # will be slightly or largely off target depending on how much your
          # code was modified when used with compact mode
          message = "Unmatched closing bracket `%s'" % bracket
          warning_info = {
              'msg': message,
              'line': line,
              'column': offset + 1
          }
          msg_stack.append(warning_info)
      return lst
docs: _pop_from_list(char : str, lst : [str], line : str,
                          real_pos : int, offset : int)
  
      The function is called when a closing bracket is encountered. The function
      simply pops the last pushed item and issues a warning if an error is
      encountered.