emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Emacs 25.0.94: Is require failing to define macros and functions at comp


From: Robert Weiner
Subject: Emacs 25.0.94: Is require failing to define macros and functions at compile time?
Date: Wed, 29 Jun 2016 10:55:22 -0400

I have been seeing a number of problems with byte-compiling the
Hyperbole package due to require statements (probably within
byte-compiled files) not defining certain macros and functions needed
during the compilation of the file with the require in it.  If the
required file is named F, then (require 'F) is insufficient but
(eval-when-compile (load "F.el")) works  (a load of "F" does not
always work), so I am forced to add these eval-when-compile statements
to the code.

Has anyone seen anything similar?  Most of the time the problem is
with a macro definition not be defined and therefore a macro expansion
fails, but sometimes I get undefined functions when I can see the
function is defined within the required file and I know that the path
of the file is in load-path at compile time.  Sometimes the problem is
with recursive requires.

Has anyone seen anything similar?

Isn't require supposed to be sufficient to define both macros and
functions at compile time for a client library?

Here is a recent example from Hyperbole:

When compiling hact.el, I get:
In end of data:
hact.el:322:1:Warning: the following functions are not known to be defined:
    hhist:add

At the top of hact.el is:

(mapc 'require '(hhist set))

In hhist.el is:

(defun hhist:add (elt) ...)

Something is not happening at byte-compile time but why and what is the problem?

Bob



reply via email to

[Prev in Thread] Current Thread [Next in Thread]