Hi Eric -
There is no /usr/include/cdefs.h on my system, and as far as I can
tell, it's not supposed to be there neither. There are
/usr/include/x86_64-linux-gnu/sys/cdefs.h
/usr/include/sys/cdefs.h
instead.
I guess I should find out what makes CEDET think that there should be one?
Thanks,
Laurynas
2012/11/23 Eric M. Ludlam <eric@...>:
> Hi Laurynas,
>
> I'm going to guess that your cdefs.h has no database associated with it.
>
> Perhaps that bit of code you identified should really read:
>
>
> (princ "\n\nMacro Summary:\n")
> (when semantic-lex-c-preprocessor-symbol-file
> (princ "\n Your CPP table is primed from these files:\n")
> (dolist (file semantic-lex-c-preprocessor-symbol-file)
> (princ " ")
> (princ file)
> (princ "\n")
> (princ " in table: ")
> (let ((fto (semanticdb-file-table-object file)))
> (if fto
> (princ (object-print fto))
> (princ "No Table")))
> (princ "\n")
> ))
>
> because this is a reasonable thing if someone were to add such bad files in
> by accident through configuration. I'm not sure what other consequences
> there are to bogus preprocessor symbol files though.
>
> Does your /usr/include/cdefs.h file really exist? Are there symlinks or
> other weirdness of file-system out there?
>
> Eric
>
>
> On 10/04/2012 12:44 AM, Laurynas Biveinis wrote:
>>
>> Hi -
>>
>>>> Whenever I open a source file in this project and try to invoke
>>>> semantic-c-describe-environment, it fails with
>>>>
>>>> eieio-generic-call-primary-only: Method object-print called on nil
>>>
>>>
>>>
>>> Could you provide a stack by setting:
>>>
>>> M-x toggle-debug-on-error RET
>>>
>>> which will get you a backtrace. There are several calls to object-print,
>>> and I'm curious which one it is.
>>
>>
>> With this one I got
>>
>> Debugger entered--Lisp error: (error "Method object-print called on nil")
>> signal(error ("Method object-print called on nil"))
>> error("Method %s called on nil" object-print)
>> eieio-generic-call-primary-only(object-print (nil))
>> object-print(nil)
>> semantic-c-describe-environment()
>> call-interactively(semantic-c-describe-environment t nil)
>> execute-extended-command(nil)
>> call-interactively(execute-extended-command nil nil)
>>
>> Which I don't think narrows it down it much. I tried edebug and it
>> showed the error on
>>
>> (princ "\n\nMacro Summary:\n")
>> (when semantic-lex-c-preprocessor-symbol-file
>> (princ "\n Your CPP table is primed from these files:\n")
>> (dolist (file semantic-lex-c-preprocessor-symbol-file)
>> (princ " ")
>> (princ file)
>> (princ "\n")
>> (princ " in table: ")
>> (princ (object-print (semanticdb-file-table-object file)))
>> (princ "\n")
>> ))
>>
>> file was "/usr/include/cdefs.h", and semanticdb-file-table-object
>> returned nil for it.
>>
>> Thanks,
--
Laurynas
|