Although you have found the answer you need, I would like to point out that your approach is still fairly structured and therefore does not take the full advantage of the power of competent programming. In the famous wc example , you can see that definitions and global variables alternate in the text. This means that you can spend more time organizing your ideas in a structure that makes more sense to people than computers.
Based on your approach, it looks like you are grouping noweb blocks into sections based on how they appear in a convoluted file. It may make sense to you, but there is another way you can do it. For example, you can organize your file thematically and all related code under these subheadings, but use noweb blocks to group them together in the right places in a confusing file.
For example, usually there are various dependencies and the reason for their inclusion will depend on the specific function method of your program. In your example, you do not provide enough for me to give a specific example, but let me say that you have the following functions or parts:
* Stack Mode ** customisation ** get from stack exchange ** edit post ** send back to stack exchange
I'm not sure how relevant or not they are, but here is the idea. Some of these features will require certain dependencies. So, for example, you might have something like this:
* Stack Mode (Entry Point): =stack-mode= Stack mode is /the/ major mode. What do I mean by this? Stack mode is the entry point of the whole package. There is no other way to obtain the full, original functionality of the package without first running =Mx stack-mode=. Stack Mode is the only mode available interactively. It is a dispatcher that decides, based on user preferences, how the whole system shall behave. It provides the basic framework upon which the rest of the package is built, and makes sure all tools are available.
This, of course, is an example, and I donβt know how to program in lisp, but I just wanted to show you and everyone else that I can read this, that you donβt need to group your ideas in such a way that makes sense for the computer. In fact, the whole point of literacy programming is to organize things in a way that makes sense to people. Therefore, it may make sense to be explicit sometimes, and not distort your thought process so that it matches the computer.
Good luck