Я даже не знаю правильной терминологии для этого синтаксиса lisp, поэтому я не знаю, имеют ли смысл слова, которые я использую, чтобы задать вопрос. Но вопрос имеет смысл, я уверен.
Итак, позвольте мне показать вам. В cc-mode (cc-fonts.el) есть вещи, называемые «сопоставителями», которые представляют собой фрагменты кода, которые выполняются для определения способа обозначения области кода. Это звучит достаточно просто, но код сопоставления находится в форме, которую я не совсем понимаю, с обратными чертами и запятыми, просто запятыми и так далее, и, кроме того, он встроен в c-lang-defcost, который сам по себе является макро. Я не знаю, как все это назвать, но я хочу запустить edebug для этого кода.
Смотри:
(c-lang-defconst c-basic-matchers-after
"Font lock matchers for various things that should be fontified after
generic casts and declarations are fontified. Used on level 2 and
higher."
t `(;; Fontify the identifiers inside enum lists. (The enum type
;; name is handled by `c-simple-decl-matchers' or
;; `c-complex-decl-matchers' below.
,@(when (c-lang-const c-brace-id-list-kwds)
`((,(c-make-font-lock-search-function
(concat
"\\<\\("
(c-make-keywords-re nil (c-lang-const c-brace-id-list-kwds))
"\\)\\>"
;; Disallow various common punctuation chars that can't come
;; before the '{' of the enum list, to avoid searching too far.
"[^\]\[{}();,/#=]*"
"{")
'((c-font-lock-declarators limit t nil)
(save-match-data
(goto-char (match-end 0))
(c-put-char-property (1- (point)) 'c-type
'c-decl-id-start)
(c-forward-syntactic-ws))
(goto-char (match-end 0)))))))
Я читаю синтаксис lisp, чтобы выяснить, что это за вещи и как их называть, но кроме этого, как я могу запустить edebug для кода, следующего за комментарием, который читает ;; Fontify the identifiers inside enum lists.
?
Я знаю, как запустить edebug при defun - просто вызовите edebug-defun
в определении функции, и я ухожу. Есть ли что-то, что мне нужно сделать, чтобы edebug формы кода соответствия cc-mode?
Что делает def-edebug-spec
, и буду ли я использовать это здесь? Если так, то как?