]> git.eshelyaron.com Git - emacs.git/commitdiff
Default argument for find-library
authorVinicius Jose Latorre <viniciusjl@ig.com.br>
Wed, 31 Oct 2007 12:46:29 +0000 (12:46 +0000)
committerVinicius Jose Latorre <viniciusjl@ig.com.br>
Wed, 31 Oct 2007 12:46:29 +0000 (12:46 +0000)
lisp/ChangeLog
lisp/emacs-lisp/find-func.el

index ebd92a400335f265c6414bc2285fe4d191d5da35..7aa77756e45e3a65d1bd0cd861ee584d106f6714 100644 (file)
@@ -1,3 +1,8 @@
+2007-10-31  Sean O'Rourke  <sorourke@cs.ucsd.edu>
+
+       * emacs-lisp/find-func.el (find-library): use library at
+       point as default interactive argument.
+
 2007-10-31  Juanma Barranquero  <lekktu@gmail.com>
 
        * emacs-lisp/elp.el (elp-report-limit, elp-restore-all)
index 6a259ffd4f715405a2e2c4e241753dc4ad915fed..ede196721ae26d084f25ebc12529742c2fb36e51 100644 (file)
@@ -194,11 +194,21 @@ TYPE should be nil to find a function, or `defvar' to find a variable."
 (defun find-library (library)
   "Find the elisp source of LIBRARY."
   (interactive
-   (list
-    (completing-read "Library name: "
-                    'locate-file-completion
-                    (cons (or find-function-source-path load-path)
-                          (find-library-suffixes)))))
+   (let* ((path (cons (or find-function-source-path load-path)
+                     (find-library-suffixes)))
+         (def (if (eq (function-called-at-point) 'require)
+                  (save-excursion
+                    (backward-up-list)
+                    (forward-char)
+                    (backward-sexp -2)
+                    (thing-at-point 'symbol))
+                (thing-at-point 'symbol))))
+     (when def
+       (setq def (and (locate-file-completion def path 'test) def)))
+     (list
+      (completing-read (if def (format "Library name (default %s): " def)
+                        "Library name: ")
+                      'locate-file-completion path nil nil nil def))))
   (let ((buf (find-file-noselect (find-library-name library))))
     (condition-case nil (switch-to-buffer buf) (error (pop-to-buffer buf)))))