Function: cperl-imenu-on-info

cperl-imenu-on-info is an interactive and byte-compiled function defined in cperl-mode.el.gz.

Signature

(cperl-imenu-on-info)

Documentation

Show imenu for Perl Info Buffer.

Opens Perl Info buffer if needed.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/cperl-mode.el.gz
(defun cperl-imenu-on-info ()
  "Show imenu for Perl Info Buffer.
Opens Perl Info buffer if needed."
  (interactive)
  (require 'imenu)
  (let* ((buffer (current-buffer))
	 imenu-create-index-function
	 imenu-prev-index-position-function
	 imenu-extract-index-name-function
	 (index-item (save-restriction
		       (save-window-excursion
			 (set-buffer (cperl-info-buffer nil))
			 (setq imenu-create-index-function
			       'imenu-default-create-index-function
			       imenu-prev-index-position-function
			       #'cperl-imenu-info-imenu-search
			       imenu-extract-index-name-function
			       #'cperl-imenu-info-imenu-name)
			 (imenu-choose-buffer-index)))))
    (and index-item
	 (progn
	   (push-mark)
	   (pop-to-buffer "*info-perl*")
	   (cond
	    ((markerp (cdr index-item))
	     (goto-char (marker-position (cdr index-item))))
	    (t
	     (goto-char (cdr index-item))))
	   (set-window-start (selected-window) (point))
	   (pop-to-buffer buffer)))))