From fdc271fab057928d03407ac735c9415fc83247d5 Mon Sep 17 00:00:00 2001 From: Alan Mackenzie Date: Tue, 24 Nov 2015 22:20:47 +0000 Subject: [PATCH] CC Mode: Eliminate compiler warning messages. * lisp/progmodes/cc-mode.el (top level): remove compile time declaration of `font-lock-syntactic-keywords' (which CC Mode doesn't use). * lisp/progmodes/cc-awk.el (awk-mode-syntax-table) (c-awk-set-syntax-table-properties): Clarify comments about `font-lock-syntactic-keywords'. * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): Create a dummy declaration of this before the real (interpreted) one, to satisfy the byte compiler. --- lisp/progmodes/cc-awk.el | 19 +++++++++++-------- lisp/progmodes/cc-bytecomp.el | 5 +++++ lisp/progmodes/cc-mode.el | 3 +-- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/lisp/progmodes/cc-awk.el b/lisp/progmodes/cc-awk.el index 077a18cc597..19a95aad676 100644 --- a/lisp/progmodes/cc-awk.el +++ b/lisp/progmodes/cc-awk.el @@ -72,7 +72,7 @@ (modify-syntax-entry ?\# "< " st) ;; / can delimit regexes or be a division operator. By default we assume ;; that it is a division sign, and fix the regexp operator cases with - ;; `font-lock-syntactic-keywords'. + ;; `c-awk-set-syntax-table-properties'. (modify-syntax-entry ?/ "." st) ; ACM 2002/4/27. (modify-syntax-entry ?* "." st) (modify-syntax-entry ?+ "." st) @@ -785,13 +785,16 @@ ;; Scan the buffer text between point and LIM, setting (and clearing) the ;; syntax-table property where necessary. ;; -;; This function is designed to be called as the FUNCTION in a MATCHER in -;; font-lock-syntactic-keywords, and it always returns NIL (to inhibit -;; repeated calls from font-lock: See elisp info page "Search-based -;; Fontification"). It also gets called, with a bit of glue, from -;; after-change-functions when font-lock isn't active. Point is left -;; "undefined" after this function exits. THE BUFFER SHOULD HAVE BEEN -;; WIDENED, AND ANY PRECIOUS MATCH-DATA SAVED BEFORE CALLING THIS ROUTINE. +;; This function is designed to be called as the FUNCTION in a MATCHER +;; in font-lock-syntactic-keywords, and it always returns NIL (to +;; inhibit repeated calls from font-lock: See elisp info page +;; "Search-based Fontification"). (2015-11-24: CC Mode doesn't use +;; `font-lock-syntactic-keywords' and hasn't done for a very long +;; time, if ever. ACM.) This function gets called, with a bit of +;; glue, from after-change-functions whether or not font-lock is +;; active. Point is left "undefined" after this function exits. THE +;; BUFFER SHOULD HAVE BEEN WIDENED, AND ANY PRECIOUS MATCH-DATA SAVED +;; BEFORE CALLING THIS ROUTINE. ;; ;; We need to set/clear the syntax-table property on: ;; (i) / - It is set to "string" on a / which is the opening or closing diff --git a/lisp/progmodes/cc-bytecomp.el b/lisp/progmodes/cc-bytecomp.el index ab53c39fbde..1470b080264 100644 --- a/lisp/progmodes/cc-bytecomp.el +++ b/lisp/progmodes/cc-bytecomp.el @@ -252,6 +252,11 @@ perhaps a `cc-bytecomp-restore-environment' is forgotten somewhere")) (cc-bytecomp-debug-msg "cc-bytecomp-restore-environment: Done")))) +(defun cc-bytecomp-load (cc-part) + ;; A dummy function which will immediately be overwritten by the + ;; following at load time. This should suppress the byte compiler + ;; error that the function is "not known to be defined". +) (eval ;; This eval is to avoid byte compilation of the function below. ;; There's some bug in XEmacs 21.4.6 that can cause it to dump core diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el index 37cae099635..5d8af239972 100644 --- a/lisp/progmodes/cc-mode.el +++ b/lisp/progmodes/cc-mode.el @@ -99,10 +99,9 @@ (cc-bytecomp-defvar adaptive-fill-first-line-regexp) ; Emacs (cc-bytecomp-defun run-mode-hooks) ; Emacs 21.1 -;; We set these variables during mode init, yet we don't require +;; We set this variable during mode init, yet we don't require ;; font-lock. (cc-bytecomp-defvar font-lock-defaults) -(cc-bytecomp-defvar font-lock-syntactic-keywords) ;; Menu support for both XEmacs and Emacs. If you don't have easymenu ;; with your version of Emacs, you are incompatible! -- 2.39.2