"J. Kean Johnston" <jkj(a)sco.com> writes:
> On Tue, Oct 06, 1998 at 12:09:27AM -0700, SL Baur wrote:
> > Marat Boshernitsan <maratb(a)cs.berkeley.edu> writes in xemacs-beta(a)xemacs.org:
> >
> > > Hi,
> > > I'd like to give the experimental DLL support a try, and perhaps do some
> > > work on it. Which CVS branch should I grab off the cvs.xemacs.org?
> >
> > There is identical support in both the 21.0 and 21.2 branches. It
> > worked the last time I tested it.
> >
> > > Was J. Kean Johnston's patch ever integrated?
> >
> > No. It was never submitted for entry into the codebase.
>
> Has anyone OTHER than Hrvoje been taking a close look at all of this?
I've been glancing at it, but my schedule at work lately has been insane,
and meetings with lawyers, accountants, and real estate agents (oh my!)
have been taking up the rest of my 'free' time. Hopefully (ha!) this will
change soon.
> Some of the changes required are a little radical when compared to the
> current way of doing things, and it is my guess that we need concensus on
> the mechanisms I have employed. The biggest one is how we document
> variables and subrs. For obvious reasons, we cant use make-docfile, and
> we need a mechanism for adding the documentation at run-time. I changed
> things such that code written for dynamic modules used macros called
> CDEFUN() and CDEFVAR_LISP() etc, and which took the documentation string
> as an actual argument (rather than a C comment) but Hrvoje didnt like
> that idea (Ipersonally dont see why, but I changed things at his
> request). The current merchanism involves calling macros for documenting
> subrs and variables during module initialization task code 3 (its a whole
> task code specifically for adding documentation). The problem I have with
> this approach is it increases the distance between an subrs definition
> and its documentation. Not necessarily a bad thing but I FAR prefered
> the CDEFSUBR() approach.
The main reason I see for keeping DEFUN and DEFVAR_LISP unchanged is that
you could eventually do the perl approach and support either dynamically
loading or statically building it with the rest of XEmacs, and it would
'just work'.
You could even still use make-docfile, but perhaps modify it to spit out
the C-style initializations you are talking about. One of the build steps
would be creating 'docstrings.c' from the rest of the source files, with a
standard entry point (<modulename>_set_doc_strings() or some such) and then
have that be called from the module initialization section of code.
Other than that, what you've done looks pretty clean. I just wish I had
more time to help with it.
-Bill P.