]> git.eshelyaron.com Git - emacs.git/commitdiff
Make CC Mode load cl-lib rather than cl in Emacs 26.
authorAlan Mackenzie <acm@muc.de>
Sun, 25 Jun 2017 13:55:50 +0000 (13:55 +0000)
committerAlan Mackenzie <acm@muc.de>
Sun, 25 Jun 2017 13:55:50 +0000 (13:55 +0000)
* lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
variable.

* lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
(c--cl-library): New variable.
(Top level): Amend the form which requires library cl or cl-lib.
(c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
(c--delete-duplicate): Amend to use c--cl-library instead of
c--mapcan-status.

* lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
(c-back-over-compound-identifier): Remove unused local variables.

* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
local variable.

* lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
of c--mapcan-status.

* lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
silence a compiler warning.

lisp/progmodes/cc-cmds.el
lisp/progmodes/cc-defs.el
lisp/progmodes/cc-engine.el
lisp/progmodes/cc-fonts.el
lisp/progmodes/cc-langs.el
lisp/progmodes/cc-styles.el

index c05200b3898df5e36f82cc77bc85358e2c5bd3ae..de2543951b9bf916ab29a555ee64a07867a894ca 100644 (file)
@@ -1915,7 +1915,7 @@ with a brace block."
     (save-restriction
       (let ((start (point))
            (paren-state (c-parse-state))
-           lim pos end-pos encl-decl-block where)
+           lim pos end-pos where)
        ;; Narrow enclosing brace blocks out, as required by the values of
        ;; `c-defun-tactic', `near', and the position of point.
        (when (eq c-defun-tactic 'go-outward)
index dd8f8afc6a334f38c42bfc06a3e948462e2ead9f..377a981598a0de667cfa9d189badb1a237d76e94 100644 (file)
     (load "cc-bytecomp" nil t)))
 
 (eval-and-compile
-  (defvar c--mapcan-status
-    (cond ((and (fboundp 'mapcan)
-               (subrp (symbol-function 'mapcan)))
-          ;; XEmacs
-          'mapcan)
-         ((locate-file "cl-lib.elc" load-path)
-          ;; Emacs >= 24.3
-          'cl-mapcan)
-         (t
-          ;; Emacs <= 24.2
-          nil))))
-
-(cc-external-require (if (eq c--mapcan-status 'cl-mapcan) 'cl-lib 'cl))
+  (defvar c--cl-library
+    (if (locate-library "cl-lib")
+       'cl-lib
+      'cl)))
+
+(cc-external-require c--cl-library)
 ; was (cc-external-require 'cl).  ACM 2005/11/29.
 ; Changed from (eval-when-compile (require 'cl)) back to
 ; cc-external-require, 2015-08-12.
@@ -182,9 +175,12 @@ This variant works around bugs in `eval-when-compile' in various
   ;; The motivation for this macro is to avoid the irritating message
   ;; "function `mapcan' from cl package called at runtime" produced by Emacs.
   (cond
-   ((eq c--mapcan-status 'mapcan)
+   ((and (fboundp 'mapcan)
+        (subrp (symbol-function 'mapcan)))
+    ;; XEmacs and Emacs >= 26.
     `(mapcan ,fun ,liszt))
-   ((eq c--mapcan-status 'cl-mapcan)
+   ((eq c--cl-library 'cl-lib)
+    ;; Emacs >= 24.3, < 26.
     `(cl-mapcan ,fun ,liszt))
    (t
     ;; Emacs <= 24.2.  It would be nice to be able to distinguish between
@@ -193,13 +189,13 @@ This variant works around bugs in `eval-when-compile' in various
 
 (defmacro c--set-difference (liszt1 liszt2 &rest other-args)
   ;; Macro to smooth out the renaming of `set-difference' in Emacs 24.3.
-  (if (eq c--mapcan-status 'cl-mapcan)
+  (if (eq c--cl-library 'cl-lib)
       `(cl-set-difference ,liszt1 ,liszt2 ,@other-args)
     `(set-difference ,liszt1 ,liszt2 ,@other-args)))
 
 (defmacro c--intersection (liszt1 liszt2 &rest other-args)
   ;; Macro to smooth out the renaming of `intersection' in Emacs 24.3.
-  (if (eq c--mapcan-status 'cl-mapcan)
+  (if (eq c--cl-library 'cl-lib)
       `(cl-intersection ,liszt1 ,liszt2 ,@other-args)
     `(intersection ,liszt1 ,liszt2 ,@other-args)))
 
@@ -212,7 +208,7 @@ This variant works around bugs in `eval-when-compile' in various
 
   (defmacro c--delete-duplicates (cl-seq &rest cl-keys)
     ;; Macro to smooth out the renaming of `delete-duplicates' in Emacs 24.3.
-    (if (eq c--mapcan-status 'cl-mapcan)
+    (if (eq c--cl-library 'cl-lib)
        `(cl-delete-duplicates ,cl-seq ,@cl-keys)
       `(delete-duplicates ,cl-seq ,@cl-keys))))
 
index aa84ade083c78b71504c7d9dca29889b3db87a2c..955e1ebb08d6ff73919727d371d48c957165a132 100644 (file)
@@ -4809,7 +4809,6 @@ comment at the start of cc-engine.el for more info."
 
   (c-self-bind-state-cache
    (let ((start (point))
-        state-2
         ;; A list of syntactically relevant positions in descending
         ;; order.  It's used to avoid scanning repeatedly over
         ;; potentially large regions with `parse-partial-sexp' to verify
@@ -7809,8 +7808,7 @@ comment at the start of cc-engine.el for more info."
   ;; looking (in C++) like this "FQN::of::base::Class".  Move to the start of
   ;; this construct and return t.  If the parsing fails, return nil, leaving
   ;; point unchanged.
-  (let ((here (point))
-       end)
+  (let (end)
     (if (not (c-on-identifier))
        nil
       (c-simple-skip-symbol-backward)
index 9bae7d9aa2f084a7015717e67caa612eaf4543c9..98a4856045cc425d87881bd06602156dfbdfa567 100644 (file)
@@ -1375,7 +1375,6 @@ casts and declarations are fontified.  Used on level 2 and higher."
          ;; it finds any.  That's necessary so that we later will
          ;; stop inside them to fontify types there.
          (c-parse-and-markup-<>-arglists t)
-         lbrace ; position of some {.
          ;; The font-lock package in Emacs is known to clobber
          ;; `parse-sexp-lookup-properties' (when it exists).
          (parse-sexp-lookup-properties
index a9d5ac34ad44a9fca41b6b7287171f3eec1cf1db..1ce0fbf7d05e13c583117ec0c317d3d930b0c1bf 100644 (file)
 
 
 ;; This file is not always loaded.  See note above.
-(cc-external-require (if (eq c--mapcan-status 'cl-mapcan) 'cl-lib 'cl))
+(cc-external-require (if (eq c--cl-library 'cl-lib) 'cl-lib 'cl))
 
 \f
 ;;; Setup for the `c-lang-defvar' system.
index b3848a74f97de6fa41f04d43db77ee79bebca6da..b1c94c3bc6a0011286172d19697610b04bea2efe 100644 (file)
@@ -47,6 +47,7 @@
 ;; `c-add-style' often contains references to functions defined there.
 
 ;; Silence the compiler.
+(cc-bytecomp-defun c-guess-basic-syntax)
 (cc-bytecomp-defvar adaptive-fill-first-line-regexp) ; Emacs
 
 \f