GNU bug report logs -
#1282
Improvement to gud.el error message
Previous Next
Reported by: Michael Ernst <mernst <at> alum.mit.edu>
Date: Fri, 31 Oct 2008 05:05:04 UTC
Severity: wishlist
Tags: fixed
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #30 received at 1282 <at> debbugs.gnu.org (full text, mbox):
Michael Ernst <mernst <at> alum.mit.edu> writes:
> This patch improves an error message in gud.el, by indicating the name of
> the file that cannot be found.
[...]
> + (let ((filename (match-string 2 gud-marker-acc)))
> (if (setq file-found
> - (gud-jdb-find-source (match-string 2 gud-marker-acc)))
> + (gud-jdb-find-source filename))
> (setq gud-last-frame
> (cons file-found
> (string-to-number
> @@ -2233,7 +2234,7 @@
> (if (string-match "[.,]" numstr)
> (replace-match "" nil nil numstr)
> numstr)))))
> - (message "Could not find source file.")))
> + (message "Could not find source file %s" filename))))
Nick Roberts <nickrob <at> snap.net.nz> writes:
> If I have a file MyProg.java, with your patch I get:
>
> Could not find source file MyProg
>
> i.e. the class name not the filename.
>
> Have you read this comment in gud.el?
>
> ;; The first group matches <fully-qualified-class>,
> ;; the second group matches <class> and the third group
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> ;; matches <line-number>. We don't care about using
>
> Generally, if there is more than one (non-public) class in the file, the
> class name needn't match the filename.
I'm not quite sure I get the objection here. The patch only adds more
information to the error message and doesn't change anything else. Is
the objection that the new message implies that the thing we matched was
a file name and not a class?
So I changed the patch to slightly and applied it to Emacs 28.
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 092d15983e..84c473ddb7 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -2358,17 +2358,17 @@ gud-jdb-marker-filter
(if (< n gud-jdb-lowest-stack-level)
(progn (setq gud-jdb-lowest-stack-level n) t)))
t)
- (if (setq file-found
- (gud-jdb-find-source (match-string 2 gud-marker-acc)))
- (setq gud-last-frame
- (cons file-found
- (string-to-number
- (let
- ((numstr (match-string 4 gud-marker-acc)))
- (if (string-match "[.,]" numstr)
- (replace-match "" nil nil numstr)
- numstr)))))
- (message "Could not find source file.")))
+ (let ((class (match-string 2 gud-marker-acc)))
+ (if (setq file-found (gud-jdb-find-source class))
+ (setq gud-last-frame
+ (cons file-found
+ (string-to-number
+ (let
+ ((numstr (match-string 4 gud-marker-acc)))
+ (if (string-match "[.,]" numstr)
+ (replace-match "" nil nil numstr)
+ numstr)))))
+ (message "Could not find source file for %s" class))))
;; Set the accumulator to the remaining text.
(setq gud-marker-acc (substring gud-marker-acc (match-end 0))))
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
This bug report was last modified 4 years and 246 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.