emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master e1f2d14a: Allow a prefix argument to find-library t


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] master e1f2d14a: Allow a prefix argument to find-library to pop to a different window
Date: Wed, 27 Apr 2016 17:25:32 +0000

branch: master
commit e1f2d14ae16342c06c052ce33b9d08cdd8ee63af
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

    Allow a prefix argument to find-library to pop to a different window
    
    * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
    argument to pop to a different window (bug#2270).
---
 etc/NEWS                     |    4 ++++
 lisp/emacs-lisp/find-func.el |   25 +++++++++++++++----------
 2 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index 2aeee96..ef2b4b0 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -56,6 +56,10 @@ affected by this, as SGI stopped supporting IRIX in December 
2013.
 
 * Changes in Emacs 25.2
 
+---
+** `find-library' now takes a prefix argument to pop to a different
+window.
+
 ** `find-library', `help-function-def' and `help-variable-def' now run
 `find-function-after-hook'.
 
diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el
index b04a9d2..3bbf809 100644
--- a/lisp/emacs-lisp/find-func.el
+++ b/lisp/emacs-lisp/find-func.el
@@ -255,9 +255,12 @@ TYPE should be nil to find a function, or `defvar' to find 
a variable."
     (cons (current-buffer) (match-beginning 0))))
 
 ;;;###autoload
-(defun find-library (library)
+(defun find-library (library &optional other-window)
   "Find the Emacs Lisp source of LIBRARY.
-LIBRARY should be a string (the name of the library)."
+LIBRARY should be a string (the name of the library).  If the
+optional OTHER-WINDOW argument (i.e., the command argument) is
+specified, pop to a different window before displaying the
+buffer."
   (interactive
    (let* ((dirs (or find-function-source-path load-path))
           (suffixes (find-library-suffixes))
@@ -279,15 +282,17 @@ LIBRARY should be a string (the name of the library)."
      (when (and def (not (test-completion def table)))
        (setq def nil))
      (list
-      (completing-read (if def (format "Library name (default %s): " def)
+      (completing-read (if def
+                           (format "Library name (default %s): " def)
                         "Library name: ")
-                      table nil nil nil nil def))))
-  (let ((buf (find-file-noselect (find-library-name library))))
-    (condition-case nil
-        (prog1
-            (switch-to-buffer buf)
-          (run-hooks 'find-function-after-hook))
-      (error (pop-to-buffer buf)))))
+                      table nil nil nil nil def)
+      current-prefix-arg)))
+  (prog1
+      (funcall (if other-window
+                   'pop-to-buffer
+                 'pop-to-buffer-same-window)
+               (find-file-noselect (find-library-name library)))
+    (run-hooks 'find-function-after-hook)))
 
 ;;;###autoload
 (defun find-function-search-for-symbol (symbol type library)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]