Subject: Re: bug#28448: 26.0.50; js-mode missing some functions for imenu

From: Dmitry Gutov <[email-masked]>
Date: Fri, 5 Feb 2021 15:25:16 +0200

On 05.02.2021 13:19, Lars Ingebrigtsen wrote:
> Tom Tromey <[email-masked]> writes:
> 
>> Consider this pared-down but relatively normal js file:
>>
>> ================================================================
>> function StyleSheetEditor(styleSheet, win, file, isNew, walker, highlighter) {
>> }
>> StyleSheetEditor.prototype = {
>>      get unsaved() {
>>      },
>>      updateLinkedStyleSheet: function () {
>>      },
>>      checkLinkedFileForChanges: function () {
>> 	this.unsaved().updateLinkedStyleSheet();
>>      },
>> }
>> ================================================================
>>
>> Here it would be great to have imenu entries for "unsaved" and
>> "updateLinkedStyleSheet".
>>
>> Currently js-mode doesn't find these.
> 
> I tried this in Emacs 26.1 (and on the trunk), and
> 
> M-x imenu RET StyleSheetEditor RET TAB
> 
> gave me
> 
> 
> 
> So the only thing it didn't find was the "unsaved"?  So I guess the
> problem here is that js--imenu-create-index doesn't know the "get" thing
> in JS prototypes?

Also see bug#41676 which mentions more modern constructs which js-mode's 
imenu doesn't handle.