Elias,
The attached patch makes M-. say that there's "no source information" for
functions defined with quad-FX.
--
"The secret to creativity is knowing how to hide your sources."
Albert Einstein
http://soundcloud.com/davidlamkins
http://reverbnation.com/lamkins
http://reverbnation.com/lcw
http://lamkins-guitar.com/
http://lamkins.net/
http://successful-lisp.com/
diff --git a/gnu-apl-interactive.el b/gnu-apl-interactive.el
index bca2921..11855d9 100644
--- a/gnu-apl-interactive.el
+++ b/gnu-apl-interactive.el
@@ -285,11 +285,17 @@ to `gnu-apl-executable')."
(let ((result (gnu-apl--read-network-reply-block)))
(if (not (string= (car result) "tag"))
(message "No function definition found")
- (let ((reference (cadr result)))
- (unless (string-match "^\\(.*\\):\\([0-9]+\\)$" reference)
- (error "Unexpected tag format: %S" reference))
- (let ((file (match-string 1 reference))
- (line-num (string-to-number (match-string 2 reference))))
- (ring-insert find-tag-marker-ring (point-marker))
- (find-file-existing file)
- (goto-line line-num))))))))
+ (block show
+ (let ((reference (cadr result)))
+ (message reference) ;;;
+ (unless (string-match "^\\(.*\\):\\([0-9]+\\)$" reference)
+ (if (string-match "^⎕FX$" reference)
+ (progn
+ (message "%s: No source information" resolved-name)
+ (return-from show))
+ (error "Unexpected tag format: %S" reference)))
+ (let ((file (match-string 1 reference))
+ (line-num (string-to-number (match-string 2 reference))))
+ (ring-insert find-tag-marker-ring (point-marker))
+ (find-file-existing file)
+ (goto-line line-num)))))))))