summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorGary V. Vaughan <gary@gnu.org>2003-07-29 15:57:33 +0000
committerEric Blake <ebb9@byu.net>2007-10-05 22:00:12 -0600
commite9a8e62826cbb98c47d823193068712d6c0138f4 (patch)
tree328cbc13937b0fa500a1cf7e3e39d10394a97a86 /TODO
parent250319c49f941e35335e37e873c2aff51bd24590 (diff)
downloadm4-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--TODO6
1 files changed, 6 insertions, 0 deletions
diff --git a/TODO b/TODO
index b4de4af6..51e6efdf 100644
--- a/TODO
+++ b/TODO
@@ -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