diff options
author | Gary V. Vaughan <gary@gnu.org> | 2003-07-29 15:57:33 +0000 |
---|---|---|
committer | Eric Blake <ebb9@byu.net> | 2007-10-05 22:00:12 -0600 |
commit | e9a8e62826cbb98c47d823193068712d6c0138f4 (patch) | |
tree | 328cbc13937b0fa500a1cf7e3e39d10394a97a86 /TODO | |
parent | 250319c49f941e35335e37e873c2aff51bd24590 (diff) | |
download | m4-e9a8e62826cbb98c47d823193068712d6c0138f4.tar.gz |
Aside from auditing path.c for m4module.h api obfuscation, this
delta introduces the concept of private struct members in opaque
data types to GNU m4: See the STYLE file for details.
* TODO: Remind ourselves that a rewrite of path.c is needed.
* m4/m4module.h (m4_search_path, struct m4_search_path_info):
Moved from here...
* m4/m4private.h (m4__search_path, m4__search_path_info): ...to
here and renamed. These type definitions are for internal api use
only. Changed all callers.
* m4/m4module.h (m4_search_path_env_init, m4_search_path_add):
Moved from here...
* m4/path.c (search_path_env_init, search_path_add): ...to here
and renamed. These calls were never used outside this file.
Changed all callers.
(dirpath): Moved functionality of this static declaration...
* m4/m4private.h (struct m4): ...to this new internal only
search_path field. Changed all callers.
(m4__get_search_path): Added new internal api accessor.
* m4/path.c (m4_search_path_info_new): Removed. Not used.
(m4_include_init): Removed...
* m4/m4.c (m4_create): ...because the new m4 field is now
initialised here.
(m4_delete): Recycle search_path memory.
* src/main.c (main): Don't call m4_include_init now that it's
gone!
* doc/STYLE: Document convention for private fields in opaque
ADTs.
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -92,6 +92,12 @@ for any of these ideas or if you have others to add. We should be making the library reentrant so that multiple instances of m4 can be run in the same process at the same time. + + The path management stuff (in path.c/m4private.h) is reinventing the + wheel. There are a bunch of fast path management and search functions + in ltdl.c: These need to be sanitized, exported through ltdl.h, and + then wrapped by the m4module.h path api. path.c can probably be removed + entirely at that point. + * MODULE SPECIFIC ISSUES + Some way of linking a module statically is needed, for systems |