diff --git a/src/bind/bindinglist.hpp b/src/bind/bindinglist.hpp index b5a330c4..2e3eaf45 100644 --- a/src/bind/bindinglist.hpp +++ b/src/bind/bindinglist.hpp @@ -17,7 +17,7 @@ namespace vind template inline bool check_if_func(T&& arg) { - return search_func(std::forward(arg)) != nullptr ; + return search_func(std::forward(arg)).get() != nullptr ; } } } diff --git a/src/bind/syscmd/autocmd.cpp b/src/bind/syscmd/autocmd.cpp index ab27f4f6..2aff7ca3 100644 --- a/src/bind/syscmd/autocmd.cpp +++ b/src/bind/syscmd/autocmd.cpp @@ -83,7 +83,7 @@ namespace vind auto [event_str, patcmd] = core::extract_double_args(pargs) ; auto [pattern, cmd] = core::extract_double_args(patcmd) ; - auto patterns = util::split(std::move(pattern), ",") ; + auto patterns = util::split(pattern, ",") ; if(event_str == "*") { if(patterns.empty()) { diff --git a/src/bind/window/arrange_win.cpp b/src/bind/window/arrange_win.cpp index 78392a0d..42825670 100644 --- a/src/bind/window/arrange_win.cpp +++ b/src/bind/window/arrange_win.cpp @@ -191,11 +191,9 @@ namespace vind } void ArrangeWindows::reconstruct() { g_ignores.clear() ; - auto& settable = core::SetTable::get_instance() ; - auto str = settable.get("arrangewin_ignore").get() ; - - auto modules = util::split(std::move(str), ",") ; + auto modules = util::split( + settable.get("arrangewin_ignore").get(), ",") ; for(auto& m : modules) { g_ignores.insert(util::A2a(util::trim(m))) ; } diff --git a/src/core/autocmd.hpp b/src/core/autocmd.hpp index c0b0b9f5..b0701e26 100644 --- a/src/core/autocmd.hpp +++ b/src/core/autocmd.hpp @@ -48,10 +48,12 @@ namespace vind {Mode::RESIDENT, AutoCmdEvent::RESIDENT_ENTER}, {Mode::COMMAND, AutoCmdEvent::COMMAND_ENTER} } ; - if(enter_events.find(mode) != enter_events.end()) { + try { return enter_events.at(mode) ; } - return AutoCmdEvent::UNDEFINED ; + catch(const std::out_of_range&) { + return AutoCmdEvent::UNDEFINED ; + } } inline AutoCmdEvent get_leave_event(Mode mode) { @@ -64,10 +66,12 @@ namespace vind {Mode::RESIDENT, AutoCmdEvent::RESIDENT_LEAVE}, {Mode::COMMAND, AutoCmdEvent::COMMAND_LEAVE} } ; - if(leave_events.find(mode) != leave_events.end()) { + try { return leave_events.at(mode) ; } - return AutoCmdEvent::UNDEFINED ; + catch(const std::out_of_range&) { + return AutoCmdEvent::UNDEFINED ; + } }