macro IsUsed(symbol){ var search_buf; var search_count; var link_recrod; var link_buf; var ref_sym; var is_used; var i; is_used = False; if (symbol == Nil) { return is_used; } search_buf = NewBuf("Search"); if (search_buf == hNil) { Msg("new buf failed."); stop; } SearchForRefs(search_buf, symbol, False); search_count = GetBufLineCount(search_buf); i = 0; while (i < search_count) { link_recrod = GetSourceLink(search_buf, i); i = i + 1; if (link_recrod == Nil) { continue; } link_buf = OpenBuf(link_recrod.File); ref_sym = GetSymbolLocationFromLn(link_buf, link_recrod.ln); // CloseBuf(link_buf); if (ref_sym == Nil) { continue; } // Msg(ref_sym.Symbol # " " # ref_sym.File # " " # ref_sym.lnFirst); if (ref_sym.Symbol != symbol) { is_used = True; break; } } CloseBuf(search_buf); return is_used;}macro CheckIsUsed(){ var data_file_name; var data_file_buf; var data_file_count; var data_file_line; var used_record_buf; var used_record_name; var i; var is_used; data_file_name = "Data.txt"; used_record_name = "used_record.txt"; used_record_buf = NewBuf(used_record_name); SetCurrentBuf(used_record_buf); data_file_buf = OpenBuf(data_file_name); data_file_count = GetBufLineCount(data_file_buf); i = 0; while (i < data_file_count) { data_file_line = GetBufLine(data_file_buf, i); i = i + 1; is_used = IsUsed(data_file_line); AppendBufLine(used_record_buf, data_file_line # "," # is_used); }}