mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-06 22:08:41 +00:00
eval: prohibit identifier overrides in macro maps; raddbg: correctly mark dirty state & recompute given watch window mutations; do not escape unquoted value eval strings
This commit is contained in:
@@ -152,9 +152,9 @@ e_string2expr_map_insert(Arena *arena, E_String2ExprMap *map, String8 string, E_
|
|||||||
SLLQueuePush_N(map->slots[slot_idx].first, map->slots[slot_idx].last, node, hash_next);
|
SLLQueuePush_N(map->slots[slot_idx].first, map->slots[slot_idx].last, node, hash_next);
|
||||||
node->string = push_str8_copy(arena, string);
|
node->string = push_str8_copy(arena, string);
|
||||||
existing_node = node;
|
existing_node = node;
|
||||||
}
|
|
||||||
existing_node->expr = expr;
|
existing_node->expr = expr;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
internal void
|
internal void
|
||||||
e_string2expr_map_inc_poison(E_String2ExprMap *map, String8 string)
|
e_string2expr_map_inc_poison(E_String2ExprMap *map, String8 string)
|
||||||
|
|||||||
@@ -8845,7 +8845,11 @@ rd_append_value_strings_from_eval(Arena *arena, EV_StringFlags flags, U32 defaul
|
|||||||
case 2: {string = str8_from_16(arena, str16_cstring((U16 *)string_buffer));}break;
|
case 2: {string = str8_from_16(arena, str16_cstring((U16 *)string_buffer));}break;
|
||||||
case 4: {string = str8_from_32(arena, str32_cstring((U32 *)string_buffer));}break;
|
case 4: {string = str8_from_32(arena, str32_cstring((U32 *)string_buffer));}break;
|
||||||
}
|
}
|
||||||
String8 string_escaped = ev_escaped_from_raw_string(arena, string);
|
String8 string_escaped = string;
|
||||||
|
if(!no_addr || depth > 0)
|
||||||
|
{
|
||||||
|
string_escaped = ev_escaped_from_raw_string(arena, string);
|
||||||
|
}
|
||||||
space_taken += fnt_dim_from_tag_size_string(font, font_size, 0, 0, string_escaped).x;
|
space_taken += fnt_dim_from_tag_size_string(font, font_size, 0, 0, string_escaped).x;
|
||||||
space_taken += 2*fnt_dim_from_tag_size_string(font, font_size, 0, 0, str8_lit("\"")).x;
|
space_taken += 2*fnt_dim_from_tag_size_string(font, font_size, 0, 0, str8_lit("\"")).x;
|
||||||
if(!no_addr || depth > 0)
|
if(!no_addr || depth > 0)
|
||||||
|
|||||||
@@ -2198,6 +2198,7 @@ rd_watch_view_build(RD_WatchViewState *ewv, Rng2F32 rect)
|
|||||||
RD_WatchPt new_pt = {parent_key, key, pt.cell_id};
|
RD_WatchPt new_pt = {parent_key, key, pt.cell_id};
|
||||||
next_cursor_pt = new_pt;
|
next_cursor_pt = new_pt;
|
||||||
next_cursor_set = 1;
|
next_cursor_set = 1;
|
||||||
|
state_dirty = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}break;
|
}break;
|
||||||
@@ -2208,6 +2209,7 @@ rd_watch_view_build(RD_WatchViewState *ewv, Rng2F32 rect)
|
|||||||
rd_cfg_release(rd_cfg_child_from_string(row_info.group_cfg, str8_lit("view_rule")));
|
rd_cfg_release(rd_cfg_child_from_string(row_info.group_cfg, str8_lit("view_rule")));
|
||||||
}
|
}
|
||||||
ev_key_set_view_rule(eval_view, row->key, str8_zero());
|
ev_key_set_view_rule(eval_view, row->key, str8_zero());
|
||||||
|
state_dirty = 1;
|
||||||
}break;
|
}break;
|
||||||
case RD_WatchCellKind_Eval:
|
case RD_WatchCellKind_Eval:
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user