[COMMIT] Eliminate some non-X11 build failures

Aidan Kehoe kehoea at parhasard.net
Mon Oct 15 09:03:21 EDT 2007


 Ar an triú lá déag de mí Deireadh Fómhair, scríobh mike.kupfer at xemacs.org: 

 > QUERY
 > 
 > > 	* mh-utils.el (mh-funcall-if-exists):
 > > 	If a function is bound at compile time, that has a limited amount
 > > 	to do with whether it's bound at runtime. Don't trust the check at
 > > 	compile time, use the runtime check instead. 
 > 
 > In MH-E 8 (which I am slowly... very slowly :-( ... getting ready for
 > the package build), mh-funcall-if-exists looks like
 > 
 >   (when (fboundp function)
 >     `(when (fboundp ',function)
 >        (funcall ',function , at args))))
 > 
 > That is, if the function isn't bound at compile time, don't bother
 > checking at runtime.  Is that going to be a problem?

The check should be at runtime, and only at runtime. XEmacs packages are
routinely compiled with the stable version and used with the beta version,
where the beta version provides more features; and we have many configure
flags that enable or disable things like the toolbar, widgets and images,
and these things will normally differ significantly between byte-compile
time and runtime. 

Looking at the results here: 
http://google.com/codesearch?q=mh-funcall-if-exists
the function arguments:

speedbar-insert-image-button-maybe
find-charset-region
toolbar-make-button-list

will be incorrectly ignored with the MH-E 8 implementation because of a
false negative at compile time if, respectively, speedbar, mule and the
toolbar were not available then but were available at runtime.

 > Also, will I need to do a test-build with a non-X11 XEmacs before
 > committing?

That would be polite, but no-one else is holding themselves to that. The
package smoketests: http://labb.contactor.se/~matsl/smoketest/logs/ 
use an X11 build, and they’re what people look to. 

-- 
On the quay of the little Black Sea port, where the rescued pair came once
more into contact with civilization, Dobrinton was bitten by a dog which was
assumed to be mad, though it may only have been indiscriminating. (Saki)



More information about the XEmacs-Beta mailing list