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)))))))))

Reply via email to