@@ -193,7 +193,7 @@ pub fn check_cursor_in_view(view: &View) -> bool {
193193 let line = doc.text().char_to_line(cursor);
194194 let document_end = view.first_line + view.area.height.saturating_sub(1) as usize;
195195
196− if (line > document_end.saturating_sub(PADDING)) | (line < view.first_line + PADDING) {
196+ if (line > document_end.saturating_sub(PADDING)) || (line < view.first_line + PADDING) {
197197 return false;
198198 }
199199 true
@@ -304,7 +304,9 @@ pub fn select_all(cx: &mut Context) {
304304pub fn select_regex(cx: &mut Context) {
305305 let prompt = ui::regex_prompt(cx, "select:".to_string(), |doc, regex| {
306306 let text = &doc.text().slice(..);
307− let selection = selection::select_on_matches(text, doc.selection(), ®ex);
307+ // TODO: if select on matches returns empty range, we need to abort
308+ let selection =
309+ selection::select_on_matches(text, doc.selection(), ®ex).expect("no matches");
308310 doc.set_selection(selection);
309311 });
310312 cx.callback = Some(Box::new(