annotate lisp/progmodes/cc-bytecomp.el @ 42307:922f0ef2951b

(balance-windows): Use new PRESERVE-BEFORE arg to enlarge-window. Use save-selected-window. Don't try to resize windows that end at the bottom "level". Retry changing the sizes until the windows get the desired sizes. Discount the minibuffer when computing total height available.
author Richard M. Stallman <rms@gnu.org>
date Tue, 25 Dec 2001 10:34:39 +0000
parents 7a94f1c588c4
children 7a3ac6c387fe
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38422
7a94f1c588c4 Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 38401
diff changeset
1 ;;; cc-bytecomp.el --- compile time setup for proper compilation
36920
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
2
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
3 ;; Copyright (C) 2000, 01 Free Software Foundation, Inc.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
4
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
5 ;; Author: Martin Stjernholm
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
6 ;; Maintainer: bug-cc-mode@gnu.org
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
7 ;; Created: 15-Jul-2000
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
8 ;; Version: See cc-mode.el
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
9 ;; Keywords: c languages oop
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
10
38401
64d8d90d180d Fix license commentary.
Gerd Moellmann <gerd@gnu.org>
parents: 36920
diff changeset
11 ;; This file is part of GNU Emacs.
64d8d90d180d Fix license commentary.
Gerd Moellmann <gerd@gnu.org>
parents: 36920
diff changeset
12
64d8d90d180d Fix license commentary.
Gerd Moellmann <gerd@gnu.org>
parents: 36920
diff changeset
13 ;; GNU Emacs is free software; you can redistribute it and/or modify
36920
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
14 ;; it under the terms of the GNU General Public License as published by
38401
64d8d90d180d Fix license commentary.
Gerd Moellmann <gerd@gnu.org>
parents: 36920
diff changeset
15 ;; the Free Software Foundation; either version 2, or (at your option)
64d8d90d180d Fix license commentary.
Gerd Moellmann <gerd@gnu.org>
parents: 36920
diff changeset
16 ;; any later version.
36920
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
17
38401
64d8d90d180d Fix license commentary.
Gerd Moellmann <gerd@gnu.org>
parents: 36920
diff changeset
18 ;; GNU Emacs is distributed in the hope that it will be useful,
36920
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
21 ;; GNU General Public License for more details.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
22
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
23 ;; You should have received a copy of the GNU General Public License
38401
64d8d90d180d Fix license commentary.
Gerd Moellmann <gerd@gnu.org>
parents: 36920
diff changeset
24 ;; along with GNU Emacs; see the file COPYING. If not, write to the
64d8d90d180d Fix license commentary.
Gerd Moellmann <gerd@gnu.org>
parents: 36920
diff changeset
25 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
36920
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
26 ;; Boston, MA 02111-1307, USA.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
27
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
28 ;;; Commentary:
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
29
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
30 ;; This file is used to ensure that the CC Mode files are correctly
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
31 ;; compiled regardless the environment (e.g. if an older CC Mode with
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
32 ;; outdated macros are loaded during compilation). It also provides
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
33 ;; features to defeat the compiler warnings for selected symbols.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
34
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
35
38422
7a94f1c588c4 Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 38401
diff changeset
36 ;;; Code:
7a94f1c588c4 Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 38401
diff changeset
37
36920
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
38 (defvar cc-bytecomp-unbound-variables nil)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
39 (defvar cc-bytecomp-original-functions nil)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
40 (defvar cc-bytecomp-original-properties nil)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
41 (defvar cc-bytecomp-load-depth 0)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
42 (defvar cc-bytecomp-loaded-files nil)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
43 (defvar cc-bytecomp-environment-set nil)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
44
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
45 (put 'cc-eval-when-compile 'lisp-indent-hook 0)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
46 (defmacro cc-eval-when-compile (&rest body)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
47 "Like `progn', but evaluates the body at compile time.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
48 The result of the body appears to the compiler as a quoted constant.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
49
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
50 This variant works around what looks like a bug in
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
51 `eval-when-compile': During byte compilation it byte compiles its
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
52 contents before evaluating it. That can cause forms to be compiled in
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
53 situations they aren't intended to be compiled. See cc-bytecomp.el
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
54 for further discussion."
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
55 ;;
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
56 ;; Example: It's not possible to defsubst a primitive, e.g. the
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
57 ;; following will produce an error (in any emacs flavor), since
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
58 ;; `nthcdr' is a primitive function that's handled specially by the
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
59 ;; byte compiler and thus can't be redefined:
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
60 ;;
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
61 ;; (defsubst nthcdr (val) val)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
62 ;;
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
63 ;; `defsubst', like `defmacro', needs to be evaluated at compile
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
64 ;; time, so this will produce an error during byte compilation.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
65 ;;
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
66 ;; CC Mode occasionally needs to do things like this for cross-emacs
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
67 ;; compatibility (although we try to avoid it since it results in
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
68 ;; byte code that isn't compatible between emacsen). It therefore
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
69 ;; uses the following to conditionally do a `defsubst':
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
70 ;;
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
71 ;; (eval-when-compile
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
72 ;; (if (not (fboundp 'foo))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
73 ;; (defsubst foo ...)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
74 ;;
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
75 ;; But `eval-when-compile' byte compiles its contents and _then_
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
76 ;; evaluates it (in all current emacs versions, up to and including
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
77 ;; Emacs 20.6 and XEmacs 21.1 as of this writing). So this will
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
78 ;; still produce an error, since the byte compiler will get to the
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
79 ;; defsubst anyway. That's arguably a bug because the point with
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
80 ;; `eval-when-compile' is that it should evaluate rather than
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
81 ;; compile its contents.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
82 `(eval-when-compile (eval '(progn ,@body))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
83
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
84 (defun cc-bytecomp-setup-environment ()
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
85 ;; Eval'ed during compilation to setup variables, functions etc
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
86 ;; declared with `cc-bytecomp-defvar' et al.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
87 (if (= cc-bytecomp-load-depth 0)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
88 (let (p)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
89 (if cc-bytecomp-environment-set
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
90 (error "Byte compilation environment already set - \
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
91 perhaps a `cc-bytecomp-restore-environment' is forgotten somewhere"))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
92 (setq p cc-bytecomp-unbound-variables)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
93 (while p
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
94 (if (not (boundp (car p)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
95 (progn
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
96 (eval `(defvar ,(car p)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
97 (set (car p) 'cc-bytecomp-ignore)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
98 (setq p (cdr p)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
99 (setq p cc-bytecomp-original-functions)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
100 (while p
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
101 (let ((fun (car (car p)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
102 (temp-macro (car (cdr (car p)))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
103 (if temp-macro
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
104 (eval `(defmacro ,fun ,@temp-macro))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
105 (fset fun 'cc-bytecomp-ignore)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
106 (setq p (cdr p)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
107 (setq p cc-bytecomp-original-properties)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
108 (while p
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
109 (let ((sym (car (car (car p))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
110 (prop (cdr (car (car p))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
111 (tempdef (car (cdr (car p)))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
112 (put sym prop tempdef))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
113 (setq p (cdr p)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
114 (setq cc-bytecomp-environment-set t))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
115
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
116 (defun cc-bytecomp-restore-environment ()
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
117 ;; Eval'ed during compilation to restore variables, functions etc
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
118 ;; declared with `cc-bytecomp-defvar' et al.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
119 (if (= cc-bytecomp-load-depth 0)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
120 (let (p)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
121 (setq p cc-bytecomp-unbound-variables)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
122 (while p
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
123 (let ((var (car p)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
124 (if (and (boundp var)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
125 (eq var 'cc-bytecomp-ignore))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
126 (makunbound var)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
127 (setq p (cdr p)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
128 (setq p cc-bytecomp-original-functions)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
129 (while p
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
130 (let ((fun (car (car p)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
131 (def (car (cdr (cdr (car p))))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
132 (if (and (fboundp fun)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
133 (eq (symbol-function fun) 'cc-bytecomp-ignore))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
134 (if (eq def 'unbound)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
135 (fmakunbound fun)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
136 (fset fun def))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
137 (setq p (cdr p)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
138 (setq p cc-bytecomp-original-properties)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
139 (while p
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
140 (let ((sym (car (car (car p))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
141 (prop (cdr (car (car p))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
142 (tempdef (car (cdr (car p))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
143 (origdef (cdr (cdr (car p)))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
144 (if (eq (get sym prop) tempdef)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
145 (put sym prop origdef)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
146 (setq p (cdr p)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
147 (setq cc-bytecomp-environment-set nil))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
148
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
149 (defun cc-bytecomp-load (cc-part)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
150 ;; Eval'ed during compilation to load a CC Mode file from the source
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
151 ;; directory (assuming it's the same as the compiled file
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
152 ;; destination dir).
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
153 (if (and (boundp 'byte-compile-dest-file)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
154 (stringp byte-compile-dest-file))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
155 (progn
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
156 (cc-bytecomp-restore-environment)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
157 (let ((cc-bytecomp-load-depth (1+ cc-bytecomp-load-depth))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
158 (load-path
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
159 (cons (file-name-directory byte-compile-dest-file)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
160 load-path))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
161 (cc-file (concat cc-part ".el")))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
162 (if (member cc-file cc-bytecomp-loaded-files)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
163 ()
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
164 (setq cc-bytecomp-loaded-files
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
165 (cons cc-file cc-bytecomp-loaded-files))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
166 (load cc-file nil t t)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
167 (cc-bytecomp-setup-environment)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
168 t)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
169
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
170 (defmacro cc-require (cc-part)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
171 "Force loading of the corresponding .el file in the current
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
172 directory during compilation, but compile in a `require'. Don't use
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
173 within `eval-when-compile'.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
174
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
175 Having cyclic cc-require's will result in infinite recursion. That's
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
176 somewhat intentional."
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
177 `(progn
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
178 (cc-eval-when-compile (cc-bytecomp-load (symbol-name ,cc-part)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
179 (require ,cc-part)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
180
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
181 (defmacro cc-provide (feature)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
182 "A replacement for the `provide' form that restores the environment
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
183 after the compilation. Don't use within `eval-when-compile'."
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
184 `(progn
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
185 (eval-when-compile (cc-bytecomp-restore-environment))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
186 (provide ,feature)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
187
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
188 (defmacro cc-load (cc-part)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
189 "Force loading of the corresponding .el file in the current
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
190 directory during compilation. Don't use outside `eval-when-compile'
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
191 or `eval-and-compile'.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
192
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
193 Having cyclic cc-load's will result in infinite recursion. That's
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
194 somewhat intentional."
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
195 `(or (and (featurep 'cc-bytecomp)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
196 (cc-bytecomp-load ,cc-part))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
197 (load ,cc-part nil t nil)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
198
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
199 (defun cc-bytecomp-is-compiling ()
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
200 "Return non-nil if eval'ed during compilation. Don't use outside
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
201 `eval-when-compile'."
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
202 (and (boundp 'byte-compile-dest-file)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
203 (stringp byte-compile-dest-file)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
204
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
205 (defmacro cc-bytecomp-defvar (var)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
206 "Binds the symbol as a variable during compilation of the file,
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
207 to silence the byte compiler. Don't use within `eval-when-compile'."
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
208 `(eval-when-compile
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
209 (if (boundp ',var)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
210 nil
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
211 (if (not (memq ',var cc-bytecomp-unbound-variables))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
212 (setq cc-bytecomp-unbound-variables
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
213 (cons ',var cc-bytecomp-unbound-variables)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
214 (if (and (cc-bytecomp-is-compiling)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
215 (= cc-bytecomp-load-depth 0))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
216 (progn
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
217 (defvar ,var)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
218 (set ',var 'cc-bytecomp-ignore))))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
219
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
220 (defmacro cc-bytecomp-defun (fun)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
221 "Bind the symbol as a function during compilation of the file,
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
222 to silence the byte compiler. Don't use within `eval-when-compile'."
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
223 `(eval-when-compile
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
224 (if (not (assq ',fun cc-bytecomp-original-functions))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
225 (setq cc-bytecomp-original-functions
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
226 (cons (list ',fun
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
227 nil
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
228 (if (fboundp ',fun)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
229 (symbol-function ',fun)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
230 'unbound))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
231 cc-bytecomp-original-functions)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
232 (if (and (cc-bytecomp-is-compiling)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
233 (= cc-bytecomp-load-depth 0)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
234 (not (fboundp ',fun)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
235 (fset ',fun 'cc-bytecomp-ignore))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
236
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
237 (put 'cc-bytecomp-defmacro 'lisp-indent-function 'defun)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
238 (defmacro cc-bytecomp-defmacro (fun &rest temp-macro)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
239 "Bind the symbol as a macro during compilation (and evaluation) of the
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
240 file. Don't use outside `eval-when-compile'."
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
241 `(progn
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
242 (if (not (assq ',fun cc-bytecomp-original-functions))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
243 (setq cc-bytecomp-original-functions
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
244 (cons (list ',fun
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
245 ',temp-macro
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
246 (if (fboundp ',fun)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
247 (symbol-function ',fun)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
248 'unbound))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
249 cc-bytecomp-original-functions)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
250 (defmacro ,fun ,@temp-macro)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
251
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
252 (defmacro cc-bytecomp-put (symbol propname value)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
253 "Set a property on a symbol during compilation (and evaluation) of
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
254 the file. Don't use outside `eval-when-compile'."
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
255 `(cc-eval-when-compile
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
256 (if (not (assoc (cons ,symbol ,propname) cc-bytecomp-original-properties))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
257 (setq cc-bytecomp-original-properties
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
258 (cons (cons (cons ,symbol ,propname)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
259 (cons ,value (get ,symbol ,propname)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
260 cc-bytecomp-original-properties)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
261 (put ,symbol ,propname ,value)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
262
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
263 (defmacro cc-bytecomp-obsolete-var (symbol)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
264 "Suppress warnings about that the given symbol is an obsolete variable.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
265 Don't use within `eval-when-compile'."
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
266 `(eval-when-compile
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
267 (if (get ',symbol 'byte-obsolete-variable)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
268 (cc-bytecomp-put ',symbol 'byte-obsolete-variable nil))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
269
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
270 (defun cc-bytecomp-ignore-obsolete (form)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
271 ;; Wraps a call to `byte-compile-obsolete' that suppresses the warning.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
272 (let ((byte-compile-warnings
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
273 (delq 'obsolete (append byte-compile-warnings nil))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
274 (byte-compile-obsolete form)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
275
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
276 (defmacro cc-bytecomp-obsolete-fun (symbol)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
277 "Suppress warnings about that the given symbol is an obsolete function.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
278 Don't use within `eval-when-compile'."
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
279 `(eval-when-compile
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
280 (if (eq (get ',symbol 'byte-compile) 'byte-compile-obsolete)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
281 (cc-bytecomp-put ',symbol 'byte-compile
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
282 'cc-bytecomp-ignore-obsolete))))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
283
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
284 ;; Override ourselves with a version loaded from source if we're
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
285 ;; compiling, like cc-require does for all the other files.
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
286 (if (and (cc-bytecomp-is-compiling)
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
287 (= cc-bytecomp-load-depth 0))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
288 (let ((load-path
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
289 (cons (file-name-directory byte-compile-dest-file) load-path))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
290 (cc-bytecomp-load-depth 1))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
291 (load "cc-bytecomp.el" nil t t)))
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
292
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
293
32a4317c6aa5 Update to version 5.28.
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
294 (provide 'cc-bytecomp)
38422
7a94f1c588c4 Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 38401
diff changeset
295
7a94f1c588c4 Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 38401
diff changeset
296 ;;; cc-bytecomp.el ends here