From 36bb5f8db031666b5937928d0f61c7ff9fce9e06 Mon Sep 17 00:00:00 2001 From: Allen Webster Date: Fri, 15 May 2020 08:13:42 -0700 Subject: [PATCH] Word complete bug fix; 4.1.6 version ready --- custom/4coder_search.cpp | 11 ++++++----- custom/4coder_version.h | 2 +- custom/generated/command_metadata.h | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/custom/4coder_search.cpp b/custom/4coder_search.cpp index 758db2d1..ee0a9b5f 100644 --- a/custom/4coder_search.cpp +++ b/custom/4coder_search.cpp @@ -319,13 +319,13 @@ word_complete_iter_init__inner(Buffer_ID buffer, String_Const_u8 needle, Range_i iter->app = app; iter->arena = arena; - Scratch_Block scratch(app); - String_Match_List list = get_complete_list_raw(app, scratch, buffer, range, needle); - iter->arena_restore = begin_temp(arena); + iter->needle = push_string_copy(arena, needle); iter->first_buffer = buffer; iter->current_buffer = buffer; - iter->needle = needle; + + Scratch_Block scratch(app, arena); + String_Match_List list = get_complete_list_raw(app, scratch, buffer, range, needle); iter->already_used_table = make_table_Data_u64(allocator, 100); word_complete_list_extend_from_raw(app, arena, &list, &iter->list, &iter->already_used_table); @@ -338,7 +338,8 @@ word_complete_iter_init(Buffer_ID buffer, Range_i64 range, Word_Complete_Iterato if (iter->app != 0 && iter->arena != 0){ Application_Links *app = iter->app; Arena *arena = iter->arena; - String_Const_u8 needle = push_buffer_range(app, arena, buffer, range); + Scratch_Block scratch(app, arena); + String_Const_u8 needle = push_buffer_range(app, scratch, buffer, range); word_complete_iter_init__inner(buffer, needle, range, iter); } } diff --git a/custom/4coder_version.h b/custom/4coder_version.h index 17423064..e89d6c25 100644 --- a/custom/4coder_version.h +++ b/custom/4coder_version.h @@ -1,6 +1,6 @@ #define MAJOR 4 #define MINOR 1 -#define PATCH 5 +#define PATCH 6 // string #define VN__(a,b,c) #a "." #b "." #c diff --git a/custom/generated/command_metadata.h b/custom/generated/command_metadata.h index 841f8c9b..f8108cab 100644 --- a/custom/generated/command_metadata.h +++ b/custom/generated/command_metadata.h @@ -507,8 +507,8 @@ static Command_Metadata fcoder_metacmd_table[248] = { { PROC_LINKS(undo_all_buffers, 0), false, "undo_all_buffers", 16, "Advances backward through the undo history in the buffer containing the most recent regular edit.", 97, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1902 }, { PROC_LINKS(view_buffer_other_panel, 0), false, "view_buffer_other_panel", 23, "Set the other non-active panel to view the buffer that the active panel views, and switch to that panel.", 104, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1663 }, { PROC_LINKS(view_jump_list_with_lister, 0), false, "view_jump_list_with_lister", 26, "When executed on a buffer with jumps, creates a persistent lister for all the jumps", 83, "w:\\4ed\\code\\custom\\4coder_jump_lister.cpp", 41, 59 }, -{ PROC_LINKS(word_complete, 0), false, "word_complete", 13, "Iteratively tries completing the word to the left of the cursor with other words in open buffers that have the same prefix string.", 130, "w:\\4ed\\code\\custom\\4coder_search.cpp", 36, 433 }, -{ PROC_LINKS(word_complete_drop_down, 0), false, "word_complete_drop_down", 23, "Word complete with drop down menu.", 34, "w:\\4ed\\code\\custom\\4coder_search.cpp", 36, 679 }, +{ PROC_LINKS(word_complete, 0), false, "word_complete", 13, "Iteratively tries completing the word to the left of the cursor with other words in open buffers that have the same prefix string.", 130, "w:\\4ed\\code\\custom\\4coder_search.cpp", 36, 434 }, +{ PROC_LINKS(word_complete_drop_down, 0), false, "word_complete_drop_down", 23, "Word complete with drop down menu.", 34, "w:\\4ed\\code\\custom\\4coder_search.cpp", 36, 680 }, { PROC_LINKS(write_block, 0), false, "write_block", 11, "At the cursor, insert a block comment.", 38, "w:\\4ed\\code\\custom\\4coder_combined_write_commands.cpp", 53, 94 }, { PROC_LINKS(write_hack, 0), false, "write_hack", 10, "At the cursor, insert a '// HACK' comment, includes user name if it was specified in config.4coder.", 99, "w:\\4ed\\code\\custom\\4coder_combined_write_commands.cpp", 53, 82 }, { PROC_LINKS(write_note, 0), false, "write_note", 10, "At the cursor, insert a '// NOTE' comment, includes user name if it was specified in config.4coder.", 99, "w:\\4ed\\code\\custom\\4coder_combined_write_commands.cpp", 53, 88 },