[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: which-function-mode doesn't work when imenu--sort-by-name is used .
From: |
Richard . G . Bielawski |
Subject: |
RE: which-function-mode doesn't work when imenu--sort-by-name is used . |
Date: |
Fri, 14 Jan 2005 21:57:45 -0600 |
>-----Original Message-----
>From: Bielawski, Richard G.
>Sent: Friday, January 14, 2005 8:15 PM
>To: 'address@hidden'; 'Emacs-Pretest-Bug (E-mail)
>Subject: RE: which-function-mode doesn't work when imenu--sort-by-name
>is used .
>
At first glance this appears to solve the problems.
(defun imenu--split-menu (menulist title)
(let (keep-at-top tail)
(if (memq imenu--rescan-item menulist)
(setq keep-at-top (cons imenu--rescan-item nil)
menulist (delq imenu--rescan-item menulist)))
(setq tail menulist)
(dolist (item tail)
(when (imenu--subalist-p item)
(push item keep-at-top)
(setq menulist (delq item menulist))))
(if imenu-sort-function
;;; copy-alist stops destructive sort from trashing imenu--index-alist
(setq menulist (sort (copy-alist menulist) imenu-sort-function)))
;;; (setq menulist (sort menulist imenu-sort-function)))
(if (> (length menulist) imenu-max-items)
(setq menulist
(mapcar
(lambda (menu)
(cons (format "From: %s" (caar menu)) menu))
(imenu--split menulist imenu-max-items))))
(cons title
(nconc (nreverse keep-at-top) menulist))))