• Alan Mackenzie's avatar
    Allow compilation during loading of Modes derived from a CC Mode mode. · 30c5f5cd
    Alan Mackenzie authored
    Fixes debbugs#19206.
    
    cc-bytecomp.el (cc-bytecomp-compiling-or-loading): new function which
    walks the stack to discover whether we're compiling or loading.
    (cc-bytecomp-is-compiling): Reformulate, and move towards beginning.
    (cc-bytecomp-is-loading): New defsubst.
    (cc-bytecomp-setup-environment, cc-bytecomp-restore-environment): Use
    the
    above defsubsts.
    (cc-require-when-compile, cc-bytecomp-defvar)
    (cc-bytecomp-defun): Simplify conditionals.
    
    cc-defs.el (cc-bytecomp-compiling-or-loading): "Borrow" this function
    from cc-bytecomp.el.
    (c-get-current-file): Reformulate using the above.
    (c-lang-defconst): Prevent duplicate entries of file names in a symbol's
    'source property.
    (c-lang-const): Use cc-bytecomp-is-compiling.
    
    cc-langs.el (c-make-init-lang-vars-fun): Use cc-bytecomp-is-compiling.
    30c5f5cd
cc-bytecomp.el 15.7 KB