I think my basic question is "where do I report a bug with the Emacs libraries themselves?" but I'll describe what I'm seeing and maybe someone has some insight into what's going on.
I've been working with JohnC32 on the Emacs MATLAB package on a few things (mainly me reporting something and him fixing, but there's a lot of debug going on both sides.) MATLAB has a pretty gnarly method of continuing lines, namely an ellipsis on the end of a line will be considered a continuation. As a result, the regular expression for finding function names is pretty extensive, but it works! However I ran into the following problem with the table imenu produces.
Given a MATLAB file with the following:
function foobar1(a, b, c) end function foobar2(a, b, c) end function gen_pulse_avg_lin_data(a, b, c) end function gen_pulse_avg_log_data(a, b, c) end function gen_beamsharpened_data(a, b, c) end function foobar3(a, b, c) end
As presented, imenu will fail and only list the last 3 functions.
If any single character in either of the three "real" function names is eliminated, imenu will work and list all functions.
If any single character in either of the three "real" functions is altered, imenu will fail.
More interestingly, if a character is added to any of the three "real" functions, imenu will start to fail in different ways. Adding an extra character to the first will only make imenu list the last three functions. If a character is added to the second or third function names, it'll only list the last two functions.
This, to me, is very weird. For what it's worth, imenu-max-item-length is set to 60, well over the token here, and should be sufficient for these function names. It's got something to do with the length and possibly the similarities of the function names, but it's not following any rhyme or reason I can discern.
In any event, seems like something to fix in imenu perhaps, but I don't know how to get a hold of someone.
submitted by /u/remillard
[link] [comments]