To fix it, you have to go to Tools=>Configuration Files=>filetype_extensions.conf. Then remove *.m from Matlab/Octave=.
Correct.
To solve this, you'd have to check the code in the file, which I imagine would be a pain.
However, almost every Objective-C file will contain at least one #import or #include. You could probably just check if the file contains this.
So do C/C++ files.
I'm not sure which is more popular. If Matlab/Octave is more popular, then maybe it should be ahead of Objective-C files.
The `filetype_extensions.conf` is in alphabetical order by filetype name, so `M`atlab wins over `O`bjective-C. Geany devs don't know which is most popular with an individual user, so its alphabetical, bat as you note above you can change it to your preference.