Sorry about the noise.
Turns out that a string-match-p was doing with a nil values variable in a function I added to the verilog-mode-hook. (And that variable was evaluating to nil only for a particular project.)
The error backtrace was confusing though.. it looked like set-auto-mode was throwing the error.
But actually it was
- (funcall mode)
- run-hooks .. (running the major mode hook)
- One of the functions in that hook
Is there a way so that an error like
Error in one of the functions in verilog-mode-hook while running some.file
gets printed instead of a misleading message that doesn't even mention the file causing it:
File mode specification error: (wrong-type-argument stringp nil)