[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#6106: 24.0.50; info.el adds 'search-failed to debug-ignored-errors
From: |
npostavs |
Subject: |
bug#6106: 24.0.50; info.el adds 'search-failed to debug-ignored-errors |
Date: |
Thu, 23 Mar 2017 23:58:28 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
tags 6106 patch
quit
Juri Linkov <juri@jurta.org> writes:
> `search-failed' is added to `debug-ignored-errors' in info.el
> to not enter the debugger when a normal search stops with no results.
>
> But this error is raised by `xsignal1 (Qsearch_failed, string)'
> in `re-search-forward' (called from `Info-search'),
> so I see no way to replace it with a call to the new function
> `user-error' (or the same function with any other name).
Use the NOERROR parameter?
>From f0b7b943368e9856dda49c3bdb862c1940266189 Mon Sep 17 00:00:00 2001
From: Noam Postavsky <npostavs@gmail.com>
Date: Thu, 23 Mar 2017 23:54:58 -0400
Subject: [PATCH v1] Don't add `search-failed' to ignored errors in info.el
(Bug#6106)
* lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
(Info-select-node, Info-search): Replace (signal 'search-failed ...)
with (user-error "Search failed: "...).
---
lisp/info.el | 23 ++++++++++-------------
1 file changed, 10 insertions(+), 13 deletions(-)
diff --git a/lisp/info.el b/lisp/info.el
index 8dc85f48a4..a06c868fb3 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -1672,7 +1672,7 @@ Info-select-node
(forward-line 2)
(if (looking-at "\^_")
(forward-line 1)
- (signal 'search-failed (list "\n\^_"))))
+ (user-error "Search failed: `\n\^_'")))
;; Get nodename spelled as it is in the node.
(re-search-forward "Node:[ \t]*")
(setq Info-current-node
@@ -1998,19 +1998,20 @@ Info-search
Info-isearch-initial-node
bound
(and found (> found opoint-min) (< found opoint-max)))
- (signal 'search-failed (list regexp "end of node")))
+ (user-error "Search failed: `%s' (end of node)" regexp))
;; If no subfiles, give error now.
(unless (or found Info-current-subfile)
(if isearch-mode
- (signal 'search-failed (list regexp "end of manual"))
+ (user-error "Search failed: `%s' (end of manual)" regexp)
(let ((search-spaces-regexp Info-search-whitespace-regexp))
- (if backward
- (re-search-backward regexp)
- (re-search-forward regexp)))))
+ (unless (if backward
+ (re-search-backward regexp nil t)
+ (re-search-forward regexp nil t))
+ (user-error "Search failed: `%s'" regexp)))))
(if (and bound (not found))
- (signal 'search-failed (list regexp)))
+ (user-error "Search failed: `%s'" regexp))
(unless (or found bound)
(unwind-protect
@@ -2054,9 +2055,8 @@ Info-search
(setq list nil)))
(if found
(message "")
- (signal 'search-failed (if isearch-mode
- (list regexp "end of manual")
- (list regexp)))))
+ (user-error "Search failed: `%s'%s"
+ regexp (if isearch-mode " (end of manual)" ""))))
(if (not found)
(progn (Info-read-subfile osubfile)
(goto-char opoint)
@@ -5237,9 +5237,6 @@ Info-speedbar-buttons
(erase-buffer))
(Info-speedbar-hierarchy-buttons nil 0))
-;; FIXME: Really? Why here?
-(add-to-list 'debug-ignored-errors 'search-failed)
-
;;;; Desktop support
(defun Info-desktop-buffer-misc-data (_desktop-dirname)
--
2.11.1
- bug#6106: 24.0.50; info.el adds 'search-failed to debug-ignored-errors,
npostavs <=