* bug#13576: 24.2.92; [PATCH] a bug in imenu--truncate-items
@ 2013-01-28 15:09 Leo Liu
2013-01-28 16:30 ` Drew Adams
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Leo Liu @ 2013-01-28 15:09 UTC (permalink / raw)
To: 13576
According to documentation on imenu--index-alist, a special item looks
like:
(INDEX-NAME POSITION FUNCTION ARGUMENTS...)
which fails imenu--truncate-items.
diff --git a/lisp/imenu.el b/lisp/imenu.el
index 80dacf93..649fc0a7 100644
--- a/lisp/imenu.el
+++ b/lisp/imenu.el
@@ -557,7 +557,7 @@ (defun imenu--truncate-items (menulist)
"Truncate all strings in MENULIST to `imenu-max-item-length'."
(mapcar (lambda (item)
(cond
- ((consp (cdr item))
+ ((imenu--subalist-p item)
(imenu--truncate-items (cdr item)))
;; truncate if necessary
((and (numberp imenu-max-item-length)
^ permalink raw reply related [flat|nested] 5+ messages in thread
* bug#13576: 24.2.92; [PATCH] a bug in imenu--truncate-items
2013-01-28 15:09 bug#13576: 24.2.92; [PATCH] a bug in imenu--truncate-items Leo Liu
@ 2013-01-28 16:30 ` Drew Adams
2013-01-29 2:25 ` Stefan Monnier
2013-01-30 18:01 ` Leo Liu
2 siblings, 0 replies; 5+ messages in thread
From: Drew Adams @ 2013-01-28 16:30 UTC (permalink / raw)
To: 'Leo Liu', 13576
Perhaps related to bug #12717?
> According to documentation on imenu--index-alist, a special item looks
> like: (INDEX-NAME POSITION FUNCTION ARGUMENTS...)
> which fails imenu--truncate-items.
>
> - ((consp (cdr item))
> + ((imenu--subalist-p item)
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#13576: 24.2.92; [PATCH] a bug in imenu--truncate-items
2013-01-28 15:09 bug#13576: 24.2.92; [PATCH] a bug in imenu--truncate-items Leo Liu
2013-01-28 16:30 ` Drew Adams
@ 2013-01-29 2:25 ` Stefan Monnier
2013-01-29 7:22 ` Leo Liu
2013-01-30 18:01 ` Leo Liu
2 siblings, 1 reply; 5+ messages in thread
From: Stefan Monnier @ 2013-01-29 2:25 UTC (permalink / raw)
To: Leo Liu; +Cc: 13576
> diff --git a/lisp/imenu.el b/lisp/imenu.el
> index 80dacf93..649fc0a7 100644
> --- a/lisp/imenu.el
> +++ b/lisp/imenu.el
> @@ -557,7 +557,7 @@ (defun imenu--truncate-items (menulist)
> "Truncate all strings in MENULIST to `imenu-max-item-length'."
> (mapcar (lambda (item)
> (cond
> - ((consp (cdr item))
> + ((imenu--subalist-p item)
> (imenu--truncate-items (cdr item)))
> ;; truncate if necessary
> ((and (numberp imenu-max-item-length)
Looks right, please install it in trunk,
Stefan
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#13576: 24.2.92; [PATCH] a bug in imenu--truncate-items
2013-01-29 2:25 ` Stefan Monnier
@ 2013-01-29 7:22 ` Leo Liu
0 siblings, 0 replies; 5+ messages in thread
From: Leo Liu @ 2013-01-29 7:22 UTC (permalink / raw)
To: Stefan Monnier; +Cc: 13576
On 2013-01-29 10:25 +0800, Stefan Monnier wrote:
> Looks right, please install it in trunk,
I'll install something along these lines which also truncate the
car of a sub-alist.
diff --git a/lisp/imenu.el b/lisp/imenu.el
index 80dacf93..1d721659 100644
--- a/lisp/imenu.el
+++ b/lisp/imenu.el
@@ -555,16 +555,14 @@ (defun imenu--split-submenus (alist)
(defun imenu--truncate-items (menulist)
"Truncate all strings in MENULIST to `imenu-max-item-length'."
- (mapcar (lambda (item)
- (cond
- ((consp (cdr item))
- (imenu--truncate-items (cdr item)))
- ;; truncate if necessary
- ((and (numberp imenu-max-item-length)
- (> (length (car item)) imenu-max-item-length))
- (setcar item (substring (car item) 0 imenu-max-item-length)))))
- menulist))
-
+ (mapc (lambda (item)
+ ;; truncate if necessary
+ (when (and (numberp imenu-max-item-length)
+ (> (length (car item)) imenu-max-item-length))
+ (setcar item (substring (car item) 0 imenu-max-item-length)))
+ (when (imenu--subalist-p item)
+ (imenu--truncate-items (cdr item))))
+ menulist))
(defun imenu--make-index-alist (&optional noerror)
"Create an index alist for the definitions in the current buffer.
^ permalink raw reply related [flat|nested] 5+ messages in thread
* bug#13576: 24.2.92; [PATCH] a bug in imenu--truncate-items
2013-01-28 15:09 bug#13576: 24.2.92; [PATCH] a bug in imenu--truncate-items Leo Liu
2013-01-28 16:30 ` Drew Adams
2013-01-29 2:25 ` Stefan Monnier
@ 2013-01-30 18:01 ` Leo Liu
2 siblings, 0 replies; 5+ messages in thread
From: Leo Liu @ 2013-01-30 18:01 UTC (permalink / raw)
To: 13576-done
Fixed in trunk
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-01-30 18:01 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-28 15:09 bug#13576: 24.2.92; [PATCH] a bug in imenu--truncate-items Leo Liu
2013-01-28 16:30 ` Drew Adams
2013-01-29 2:25 ` Stefan Monnier
2013-01-29 7:22 ` Leo Liu
2013-01-30 18:01 ` Leo Liu
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).