Bugs item #1871398, was opened at 2008-01-14 18:46
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=111005&aid=1871398&group_id=11005

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Tony Balinski (ajbj)
Assigned to: Nobody/Anonymous (nobody)
Summary: Improve nedit macro built-in function registration

Initial Comment:
This is not so much a bug as a complaint, with a patch as a solution.

The file macro.c is too big and does not readily allow for macro built-in 
functions and variables to be defined in other files, where they might be more 
logically grouped. (In particular, I would rather see all rangeset manipulating 
stuff in a separate rangeset_macro.c file, or such-like.)

The fundamental problem is that the built-ins must be registered so that their 
names can be found when parsing the actual macro texts, and that this 
registration is pretty well locked into macro.c. Also, it uses a set of rather 
nasty tables that match names to function pointers in a maintenance intensive 
way.

Attached is a patch that replaces these clunky tables with easier to maintain 
ones (using name,function-ptr pairs), and exposes the necessary registration 
functions for other files to define their own macro built-ins (by including 
macro.h). This might even extend further to allow run-time loading in future... 
who knows?

(Entered as a bug as per suggestion, see 
http://www.nedit.org/pipermail/develop/2008-January/013851.html
for more)

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=111005&aid=1871398&group_id=11005
-- 
NEdit Develop mailing list - [email protected]
http://www.nedit.org/mailman/listinfo/develop

Reply via email to