File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -3239,7 +3239,32 @@ logfile_sub_source::clear_bookmark_metadata()
32393239 continue ;
32403240 }
32413241
3242- ld->get_file_ptr ()->get_bookmark_metadata ().clear ();
3242+ auto & bm_map = ld->get_file_ptr ()->get_bookmark_metadata ();
3243+ auto iter = bm_map.begin ();
3244+ while (iter != bm_map.end ()) {
3245+ auto & meta = iter->second ;
3246+ meta.bm_comment .clear ();
3247+ meta.bm_annotations .la_pairs .clear ();
3248+ meta.bm_opid .clear ();
3249+ if (meta.bm_name_source == bookmark_metadata::meta_source::user) {
3250+ meta.bm_name .clear ();
3251+ }
3252+ auto tag_iter = meta.bm_tags .begin ();
3253+ while (tag_iter != meta.bm_tags .end ()) {
3254+ if (tag_iter->te_source
3255+ == bookmark_metadata::meta_source::user)
3256+ {
3257+ tag_iter = meta.bm_tags .erase (tag_iter);
3258+ } else {
3259+ ++tag_iter;
3260+ }
3261+ }
3262+ if (meta.empty (bookmark_metadata::categories::any)) {
3263+ iter = bm_map.erase (iter);
3264+ } else {
3265+ ++iter;
3266+ }
3267+ }
32433268 }
32443269}
32453270
Original file line number Diff line number Diff line change @@ -2364,19 +2364,17 @@ reset_session()
23642364 }
23652365
23662366 for (auto & tc : lnav_data.ld_views ) {
2367- text_sub_source * tss = tc.get_sub_source ();
2367+ auto * tss = tc.get_sub_source ();
23682368
23692369 if (tss == nullptr ) {
23702370 continue ;
23712371 }
23722372 tss->get_filters ().clear_filters ();
23732373 tss->tss_apply_filters = true ;
2374- tss->text_filters_changed ();
23752374 tss->text_clear_marks (&textview_curses::BM_USER );
23762375 tc.get_bookmarks ()[&textview_curses::BM_USER ].clear ();
2377- tss->text_clear_marks (&textview_curses::BM_META );
2378- tc.get_bookmarks ()[&textview_curses::BM_META ].clear ();
23792376 tc.get_bookmarks ()[&textview_curses::BM_STICKY ].clear ();
2377+ tss->text_filters_changed ();
23802378 tc.reload_data ();
23812379 }
23822380
Original file line number Diff line number Diff line change @@ -748,6 +748,8 @@ dist_noinst_DATA = \
748748 test_sessions.sh_42c75e0d5f674a3df5251e7cd1a9f950d592a2c8.out \
749749 test_sessions.sh_430b9522ba1a37983138f3c4935cba91b781e415.err \
750750 test_sessions.sh_430b9522ba1a37983138f3c4935cba91b781e415.out \
751+ test_sessions.sh_446d4b5105468c36d595f5ea696eac1e550016f7.err \
752+ test_sessions.sh_446d4b5105468c36d595f5ea696eac1e550016f7.out \
751753 test_sessions.sh_4b353754b96aa93f7c5053697e3e0564721454d5.err \
752754 test_sessions.sh_4b353754b96aa93f7c5053697e3e0564721454d5.out \
753755 test_sessions.sh_4f13dd3858546b6e04a27e244159d355e368f2ae.err \
Original file line number Diff line number Diff line change 1+ log_line,log_part
2+ 24,10.1.10.103
3+ 25,10.1.10.103
4+ 26,10.1.10.103
5+ 27,10.1.10.103
6+ 28,10.1.10.103
7+ 29,10.1.10.103
8+ 30,10.1.10.103
9+ 31,10.1.10.103
10+ 32,10.1.10.103
11+ 33,10.1.10.103
12+ 34,10.1.10.103
13+ 35,10.1.10.103
14+ 36,10.1.10.103
15+ 37,10.1.10.103
16+ 38,10.1.10.103
17+ 39,10.1.10.103
18+ 40,10.1.10.103
19+ 41,10.1.10.103
20+ 42,10.1.10.103
21+ 43,10.1.10.103
22+ 44,10.1.10.103
23+ 45,10.1.10.103
24+ 46,10.1.10.103
25+ 47,10.1.10.103
26+ 48,10.1.10.103
27+ 49,10.1.10.103
28+ 50,10.1.10.103
29+ 51,10.1.10.103
30+ 52,10.1.10.103
31+ 53,10.1.10.103
32+ 54,10.1.10.103
33+ 55,10.1.10.103
34+ 56,10.1.10.103
35+ 57,10.1.10.103
36+ 58,10.1.10.103
37+ 59,10.1.10.103
38+ 60,10.1.10.103
39+ 61,10.1.10.103
40+ 62,10.1.10.103
41+ 63,10.1.10.103
42+ 64,10.1.10.103
43+ 65,10.1.10.103
44+ 66,10.1.10.103
45+ 67,10.1.10.62
46+ 68,10.1.10.62
47+ 69,10.1.10.62
48+ 70,10.1.10.62
49+ 71,10.1.10.62
50+ 72,10.1.10.62
51+ 73,10.1.10.62
52+ 74,10.1.10.62
53+ 75,10.1.10.62
54+ 76,10.1.10.62
55+ 77,10.1.10.62
56+ 78,10.1.10.62
57+ 79,10.1.10.62
58+ 80,10.1.10.62
59+ 81,10.1.10.62
Original file line number Diff line number Diff line change @@ -306,6 +306,14 @@ run_cap_test ${lnav_test} -nq \
306306run_cap_test sqlite3 ${HOME} /.lnav/log_metadata.db \
307307 " SELECT count(*) FROM bookmarks WHERE part_name IS NOT NULL AND part_name != ''"
308308
309+ # format-defined partitions should survive a session reset
310+ run_cap_test ${lnav_test} -n \
311+ -I ${test_dir} \
312+ -c ' :reset-session' \
313+ -c ' ;SELECT log_line, log_part FROM syslog_log WHERE log_part IS NOT NULL' \
314+ -c ' :write-csv-to -' \
315+ ${test_dir} /logfile_partitions.0
316+
309317rm -rf ./sessions
310318mkdir -p $HOME
311319
You can’t perform that action at this time.
0 commit comments