I have Emacs 28.1.90, locally built, with cedet
and semantic
as built-in packages. However, when i tried turning things on (using semantic
for auto-completion with company
), i started getting eroors instead.
Here is the backtrace i am getting:
#f(compiled-function (table) "Update typecache for TABLE, and return the merged types from the include tags.\nInclude-tags are the tags brought in via includes, all merged together into\na master list." #<bytecode 0xe02e0dedb2010ce>)(#<semanticdb-table semanticdb-table-15690dd69336 (25 tags), DIRTY>)
apply(#f(compiled-function (table) "Update typecache for TABLE, and return the merged types from the include tags.\nInclude-tags are the tags brought in via includes, all merged together into\na master list." #<bytecode 0xe02e0dedb2010ce>) #<semanticdb-table semanticdb-table-15690dd69336 (25 tags), DIRTY> nil)
semanticdb-typecache-include-tags(#<semanticdb-table semanticdb-table-15690dd69336 (25 tags), DIRTY>)
#f(compiled-function (table type find-file-match) "Search the typecache in TABLE for the datatype TYPE.\nIf type is a string, split the string, and search for the parts.\nIf type is a list, treat the type as a pre-split string.\nIf FIND-FILE-MATCH is non-nil, then force the file belonging to the\nfound tag to be loaded." #<bytecode 0xc189a8f4e81c8b7>)(#<semanticdb-table semanticdb-table-15690dd69336 (25 tags), DIRTY> ("p") nil)
apply(#f(compiled-function (table type find-file-match) "Search the typecache in TABLE for the datatype TYPE.\nIf type is a string, split the string, and search for the parts.\nIf type is a list, treat the type as a pre-split string.\nIf FIND-FILE-MATCH is non-nil, then force the file belonging to the\nfound tag to be loaded." #<bytecode 0xc189a8f4e81c8b7>) #<semanticdb-table semanticdb-table-15690dd69336 (25 tags), DIRTY> (("p") nil))
semanticdb-typecache-find-method(#<semanticdb-table semanticdb-table-15690dd69336 (25 tags), DIRTY> ("p") nil)
semanticdb-typecache-find-default(("p") nil nil)
semanticdb-typecache-find(("p"))
semantic-analyze-find-tag-sequence-default(("p") #<semantic-scope-cache semantic-scope-cache-15690cfb4738> semantic--prefixtypes unfindable nil)
semantic-analyze-find-tag-sequence(("p") #<semantic-scope-cache semantic-scope-cache-15690cfb4738> semantic--prefixtypes unfindable)
semantic-analyze-current-context-default(6972)
semantic-analyze-current-context()
semantic-analyze-completion-at-point-function()
completion--capf-wrapper(semantic-analyze-completion-at-point-function optimist)
company--capf-wrapper(semantic-analyze-completion-at-point-function optimist)
run-hook-wrapped(company--capf-wrapper semantic-analyze-completion-at-point-function optimist)
company--capf-data-real()
company--capf-data()
company-capf(prefix)
apply(company-capf prefix)
(if (functionp company-backend) (apply company-backend args) (apply #'company--multi-backend-adapter company-backend args))
(condition-case err (if (functionp company-backend) (apply company-backend args) (apply #'company--multi-backend-adapter company-backend args)) ((debug user-error) (user-error "Company: backend %s user-error: %s" company-backend (error-message-string err))) ((debug error) (error "Company: backend %s error \"%s\" with args %s" company-backend (error-message-string err) args)))
company-call-backend-raw(prefix)
apply(company-call-backend-raw prefix)
(let ((value (apply fun args))) (if (not (eq (car-safe value) :async)) value (let ((res 'trash) (start (time-to-seconds))) (funcall (cdr value) #'(lambda (result) (setq res result))) (while (eq res 'trash) (if (> (- (time-to-seconds) start) company-async-timeout) (error "Company: backend %s async timeout with args %s" backend args) (sleep-for company-async-wait))) res)))
company--force-sync(company-call-backend-raw (prefix) company-capf)
company-call-backend(prefix)
(let ((company-backend backend)) (company-call-backend 'prefix))
(progn (let ((company-backend backend)) (company-call-backend 'prefix)))
(if (company--maybe-init-backend backend) (progn (let ((company-backend backend)) (company-call-backend 'prefix))))
(if (or (symbolp backend) (functionp backend)) (if (company--maybe-init-backend backend) (progn (let ((company-backend backend)) (company-call-backend 'prefix)))) (company--multi-backend-adapter backend 'prefix))
(setq prefix (if (or (symbolp backend) (functionp backend)) (if (company--maybe-init-backend backend) (progn (let ((company-backend backend)) (company-call-backend 'prefix)))) (company--multi-backend-adapter backend 'prefix)))
(let ((backend (car --dolist-tail--))) (setq prefix (if (or (symbolp backend) (functionp backend)) (if (company--maybe-init-backend backend) (progn (let ((company-backend backend)) (company-call-backend 'prefix)))) (company--multi-backend-adapter backend 'prefix))) (if prefix (progn (if (company--good-prefix-p prefix) (progn (let ((ignore-case ...)) (setq company-prefix (company--prefix-str prefix) company-backend backend c (company-calculate-candidates company-prefix ignore-case)) (cond (... ...) (... ...) (t ... ... ... ...))))) (throw '--cl-block-nil-- c))) (setq --dolist-tail-- (cdr --dolist-tail--)))
(while --dolist-tail-- (let ((backend (car --dolist-tail--))) (setq prefix (if (or (symbolp backend) (functionp backend)) (if (company--maybe-init-backend backend) (progn (let (...) (company-call-backend ...)))) (company--multi-backend-adapter backend 'prefix))) (if prefix (progn (if (company--good-prefix-p prefix) (progn (let (...) (setq company-prefix ... company-backend backend c ...) (cond ... ... ...)))) (throw '--cl-block-nil-- c))) (setq --dolist-tail-- (cdr --dolist-tail--))))
(let ((--dolist-tail-- (if company-backend (list company-backend) company-backends))) (while --dolist-tail-- (let ((backend (car --dolist-tail--))) (setq prefix (if (or (symbolp backend) (functionp backend)) (if (company--maybe-init-backend backend) (progn (let ... ...))) (company--multi-backend-adapter backend 'prefix))) (if prefix (progn (if (company--good-prefix-p prefix) (progn (let ... ... ...))) (throw '--cl-block-nil-- c))) (setq --dolist-tail-- (cdr --dolist-tail--)))))
(catch '--cl-block-nil-- (let ((--dolist-tail-- (if company-backend (list company-backend) company-backends))) (while --dolist-tail-- (let ((backend (car --dolist-tail--))) (setq prefix (if (or (symbolp backend) (functionp backend)) (if (company--maybe-init-backend backend) (progn ...)) (company--multi-backend-adapter backend 'prefix))) (if prefix (progn (if (company--good-prefix-p prefix) (progn ...)) (throw '--cl-block-nil-- c))) (setq --dolist-tail-- (cdr --dolist-tail--))))))
(let (prefix c) (catch '--cl-block-nil-- (let ((--dolist-tail-- (if company-backend (list company-backend) company-backends))) (while --dolist-tail-- (let ((backend (car --dolist-tail--))) (setq prefix (if (or ... ...) (if ... ...) (company--multi-backend-adapter backend ...))) (if prefix (progn (if ... ...) (throw ... c))) (setq --dolist-tail-- (cdr --dolist-tail--)))))))
company--begin-new()
(cond (company-candidates (company--continue)) ((company--should-complete) (company--begin-new)))
company--perform()
(let ((inhibit-quit nil)) (company--perform) company-candidates)
(condition-case err (let ((inhibit-quit nil)) (company--perform) company-candidates) ((debug error) (message "Company: An error occurred in auto-begin") (message "%s" (error-message-string err)) (company-cancel)) ((debug quit) (company-cancel)))
(let ((company-idle-delay 'now)) (condition-case err (let ((inhibit-quit nil)) (company--perform) company-candidates) ((debug error) (message "Company: An error occurred in auto-begin") (message "%s" (error-message-string err)) (company-cancel)) ((debug quit) (company-cancel))))
(and company-mode (not company-candidates) (let ((company-idle-delay 'now)) (condition-case err (let ((inhibit-quit nil)) (company--perform) company-candidates) ((debug error) (message "Company: An error occurred in auto-begin") (message "%s" (error-message-string err)) (company-cancel)) ((debug quit) (company-cancel)))))
company-auto-begin()
(if (company-auto-begin) (progn (let ((this-command 'company-idle-begin)) (company-post-command))))
(let ((non-essential t)) (if (company-auto-begin) (progn (let ((this-command 'company-idle-begin)) (company-post-command)))))
(and (eq buf (current-buffer)) (eq win (selected-window)) (eq tick (buffer-chars-modified-tick)) (eq pos (point)) (let ((non-essential t)) (if (company-auto-begin) (progn (let ((this-command 'company-idle-begin)) (company-post-command))))))
company-idle-begin(#<buffer sender/main.c> #<window 34 on sender/main.c> 120321 6972)
apply(company-idle-begin (#<buffer sender/main.c> #<window 34 on sender/main.c> 120321 6972))
timer-event-handler([t 25353 51021 826913 nil company-idle-begin (#<buffer sender/main.c> #<window 34 on sender/main.c> 120321 6972) nil 367000 nil])
As far as i am able to tell, semantic
gets an error while working over "/usr/include/stdio.h", standsrd include file. Moreover, error seem to be purely internal to it.
Is that a known problem? How can it be resolved?