Just leave them lowercase.
But then you end up with unreadable filenames like synedittextdyntabexpander.pas. If I could work with things only via the editor maybe I would agree.
Or use Windows only. But in general lowercase is recommended, and optimizes searching.
Directory structure is irrelevant for namespaces.
Directories still have to exist. Whether I put all files in one flat hierarchy or try to butcher in some nested directories there is still some kind of structure, even if the compiler ignores it.
You can use directories all you like, but there is no correlation between namespaces and directories.
I know. However it is FPC with the fake namespace names. The file naming system as it exists now is not really a "namespace." Everything is still a flat hierarchy with names that have periods in them.
Fake namespace is an undefined term. These are namespaces, and the toplevel namespace is an unit. It is not Java that doesn't know units.
It's a namespace, not necessarily a classpath structure.
This is crucial to remember, and also that the core namespace is the unit. Hierarchy is only meant to disambiguate units.
You're missing the point of having a separate word. C has a flat namespace. C++ has a namespace keyword that can introduce nesting.
C++ has no units, which are the corner stone of namespaces on Pascal, even before hierarchical extension.
Similarly, java/C# chose mapping hierarchy to a filesystem structure and have a one class per file limitation that Pascal doesn't suffer
Different requirements, different solutions.
So no, it is not a namespace. The top level, flat namespace has a member A.B.C.D, but that namespace exists by default.
It is a namespace. It maybe is not a namespace as you are used to, but it still is a namespace. Identifiers can be used multiple times in different places in the hierarchy.
Pascal was always quite free with that (because of the unit system), only the unit names itself couldn't be duplicated. The hierarchical system is a workaround for that.
One can argue if it is elegant (I think it is medium quality at best), but it works and it solves some of the old problems at the expensive of renaming the units to a dotted form.
Pass -FNSystem.Time or so (but that is trunk only)
This is good but not necessarily great. Are there any plans to add e.g. "uses System.Time.*"? Perhaps there is a better syntax?
There are no plans like that.
The unit and the unit system remain the core of namespace control, and the hierarchy is only a minor extension. The core meaning of hierarchical namespaces in Delphi/Pascal are only meant to disambiguate packages that reuse unit identifiers.
The deepest level of the namespace is always an unit, and an unit can already contain multiple classes, so wildcards a la Java to include multiple classes at the deepest level are not needed. Also consider that Pascal allows type aliases to reexport identifiers (so system.timer.a can reexport a type from system.timer.b, making it unnecessary to USES system.timer.b implicitely)
To me it sounds you are trying a one class/symbol per unit system. The system is not meant for that, and you are trying to imitate a foreign design concept on Delphi/Pascal.
It is smarter to design your package to Pascal's rules.
I am glad it exists though, I will install trunk. If this feature is in trunk then namespaces are maybe halfway supported.
Keep in mind what the namespace system is used for, and avoid overuse. Forget what you know about namespaces from other languages, those serve a different purpose, and are because they don't have a proper unit system.
Work with the unit system instead against it.