1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-04 08:47:11 +00:00

Remove obsolete example functions from imenu.el

* lisp/imenu.el (imenu-example--create-c-index)
(imenu-example--function-name-regexp-c)
(imenu-example--create-lisp-index)
(imenu-example--lisp-extract-index-name): Remove functions (and
internal variables used by those functions) declared obsolete in
Emacs 23.2.  The functions gave compilation warnings.
This commit is contained in:
Lars Ingebrigtsen 2019-05-17 06:53:58 +02:00
parent 670c5126a0
commit e0ea878a89

View File

@ -348,98 +348,6 @@ Don't move point."
(signal 'imenu-unavailable
(list (apply #'format-message format args))))
(defun imenu-example--lisp-extract-index-name ()
;; Example of a candidate for `imenu-extract-index-name-function'.
;; This will generate a flat index of definitions in a lisp file.
(declare (obsolete nil "23.2"))
(save-match-data
(and (looking-at "(def")
(condition-case nil
(progn
(down-list 1)
(forward-sexp 2)
(let ((beg (point))
(end (progn (forward-sexp -1) (point))))
(buffer-substring beg end)))
(error nil)))))
(defun imenu-example--create-lisp-index ()
;; Example of a candidate for `imenu-create-index-function'.
;; It will generate a nested index of definitions.
(declare (obsolete nil "23.2"))
(let ((index-alist '())
(index-var-alist '())
(index-type-alist '())
(index-unknown-alist '()))
(goto-char (point-max))
;; Search for the function
(while (beginning-of-defun)
(save-match-data
(and (looking-at "(def")
(save-excursion
(down-list 1)
(cond
((looking-at "def\\(var\\|const\\)")
(forward-sexp 2)
(push (imenu-example--name-and-position)
index-var-alist))
((looking-at "def\\(un\\|subst\\|macro\\|advice\\)")
(forward-sexp 2)
(push (imenu-example--name-and-position)
index-alist))
((looking-at "def\\(type\\|struct\\|class\\|ine-condition\\)")
(forward-sexp 2)
(if (= (char-after (1- (point))) ?\))
(progn
(forward-sexp -1)
(down-list 1)
(forward-sexp 1)))
(push (imenu-example--name-and-position)
index-type-alist))
(t
(forward-sexp 2)
(push (imenu-example--name-and-position)
index-unknown-alist)))))))
(and index-var-alist
(push (cons "Variables" index-var-alist)
index-alist))
(and index-type-alist
(push (cons "Types" index-type-alist)
index-alist))
(and index-unknown-alist
(push (cons "Syntax-unknown" index-unknown-alist)
index-alist))
index-alist))
;; Regular expression to find C functions
(defvar imenu-example--function-name-regexp-c
(concat
"^[a-zA-Z0-9]+[ \t]?" ; Type specs; there can be no
"\\([a-zA-Z0-9_*]+[ \t]+\\)?" ; more than 3 tokens, right?
"\\([a-zA-Z0-9_*]+[ \t]+\\)?"
"\\([*&]+[ \t]*\\)?" ; Pointer.
"\\([a-zA-Z0-9_*]+\\)[ \t]*(" ; Name.
))
(defun imenu-example--create-c-index (&optional regexp)
(declare (obsolete nil "23.2"))
(let ((index-alist '())
char)
(goto-char (point-min))
;; Search for the function
(save-match-data
(while (re-search-forward
(or regexp imenu-example--function-name-regexp-c)
nil t)
(backward-up-list 1)
(save-excursion
(goto-char (scan-sexps (point) 1))
(setq char (following-char)))
;; Skip this function name if it is a prototype declaration.
(if (not (eq char ?\;))
(push (imenu-example--name-and-position) index-alist))))
(nreverse index-alist)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Internal variables