
  function(indent_level_push)
    set(new_lvl ${ARGN})
    if("${new_lvl}_" STREQUAL "_")
      set(new_lvl +1)
    endif()
    if("${new_lvl}" MATCHES "^[+\\-]")
      indent_level()
      ans(current_level)
      math(EXPR new_lvl "${current_level} ${new_lvl}")
    endif()
    map_push_back(global __indentlevelstack "${new_lvl}")
    indent_level_current()
    return_ans()
  endfunction()