changeset 23862:d0e08cc0aa3d

(find-function-search-for-symbol): Remove unnecessary test on `library' for explicit file name. Widen scope of save-match-data.
author Dave Love <fx@gnu.org>
date Fri, 11 Dec 1998 17:42:56 +0000
parents d2ffab783280
children 478c3628a2cd
files lisp/emacs-lisp/find-func.el
diffstat 1 files changed, 21 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/find-func.el	Fri Dec 11 17:40:18 1998 +0000
+++ b/lisp/emacs-lisp/find-func.el	Fri Dec 11 17:42:56 1998 +0000
@@ -108,29 +108,27 @@
 `find-variable-regexp' is used."
   (if (null library)
       (error "Don't know where `%s' is defined" symbol))
-  (if (string-match "\\.el\\(c\\)\\'" library)
-      (setq library (substring library 0 (match-beginning 1))))
-  (let* ((path find-function-source-path)
-	 (compression (or (rassq 'jka-compr-handler file-name-handler-alist)
-			  (member 'crypt-find-file-hook find-file-hooks)))
-	 (filename (if (and (file-exists-p library)
-			    (not (file-directory-p library)))
-		       library
-		     ;; use `file-name-sans-extension' here? (if it gets fixed)
-		     (if (string-match "\\(\\.el\\)\\'" library)
-			 (setq library (substring library 0
-						  (match-beginning 1))))
-		     (or (locate-library (concat library ".el") t path)
-			 (locate-library library t path)
-			 (if compression
-			     (or (locate-library (concat library ".el.gz")
-						 t path)
-				 (locate-library (concat library ".gz")
-						 t path)))))))
-    (if (not filename)
-	(error "The library `%s' is not in the path" library))
-    (with-current-buffer (find-file-noselect filename)
-      (save-match-data
+  (save-match-data
+    (if (string-match "\\.el\\(c\\)\\'" library)
+	(setq library (substring library 0 (match-beginning 1))))
+    (let* ((path find-function-source-path)
+	   (compression (or (rassq 'jka-compr-handler file-name-handler-alist)
+			    (member 'crypt-find-file-hook find-file-hooks)))
+	   (filename (progn
+		       ;; use `file-name-sans-extension' here? (if it gets fixed)
+		       (if (string-match "\\(\\.el\\)\\'" library)
+			   (setq library (substring library 0
+						    (match-beginning 1))))
+		       (or (locate-library (concat library ".el") t path)
+			   (locate-library library t path)
+			   (if compression
+			       (or (locate-library (concat library ".el.gz")
+						   t path)
+				   (locate-library (concat library ".gz")
+						   t path)))))))
+      (if (not filename)
+	  (error "The library `%s' is not in the path" library))
+      (with-current-buffer (find-file-noselect filename)
 	(let ((regexp (format (if variable-p
 				  find-variable-regexp
 				find-function-regexp)