parameters: (limit, i)
return_statement: return i
docstring: Remove default property values from between-block ranges.
docstring_summary: Remove default property values from between-block ranges.
docstring_tokens: Remove default property values from between - block ranges .
function: def CompactNonBlock(limit, i):
    """Remove default property values from between-block ranges."""
    default_is_unassigned = _defaults["gc"] == "Cn"  # This is expected to be true.
    while True:
      start = _starts[i]
      if start >= limit: break
      props = _props[i]
      if "gc" in props:
        is_unassigned = props["gc"] == "Cn"
      else:
        is_unassigned = default_is_unassigned
      for pname in list(props.keys()):  # .keys() is a copy so we can del props[pname].
        if props[pname] == _null_or_defaults[pname]: del props[pname]
      assert "blk" not in props
      # If there are no props left, then nothing will be printed.
      # Otherwise, add "unassigned" for more obvious output.
      if props and is_unassigned:
        props["unassigned"] = True
      i += 1
    # Return the _starts index of the first range after this block.
    return i
function_tokens: def CompactNonBlock ( limit , i ) : default_is_unassigned = _defaults [ "gc" ] == "Cn" # This is expected to be true. while True : start = _starts [ i ] if start >= limit : break props = _props [ i ] if "gc" in props : is_unassigned = props [ "gc" ] == "Cn" else : is_unassigned = default_is_unassigned for pname in list ( props . keys ( ) ) : # .keys() is a copy so we can del props[pname]. if props [ pname ] == _null_or_defaults [ pname ] : del props [ pname ] assert "blk" not in props # If there are no props left, then nothing will be printed. # Otherwise, add "unassigned" for more obvious output. if props and is_unassigned : props [ "unassigned" ] = True i += 1 # Return the _starts index of the first range after this block. return i