"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.