Okay, I'm a bit stumped here... re: what we discussed above, and what I committed today.
Basically, it seems that Wess never actually stores an OS string into the css filename, even if there's a file in the list with an OS suffix. I don't know why, because it used to work... Anyway... It needs some changing anyway, because currently the implementation is flawed. That is, if an @if or @is command takes place in a file, Wess doesn't care what the question is about, and doesn't send back any data regarding it. For instance, if you do a test on the user agent or OS, Subs-Cache (most specifically the actual css caching function) has absolutely no way of knowing that such a test took place Inside the file, allowing it to force-add browser/OS keywords to the filename... Similarly, if it doesn't need to actually rebuild the cache, there's no way to actually determine that an internal test took place, and thus an extra keyword is needed in the filename...
What I could do, though, is something like that...
- If the test is POSITIVE[1], set a special variable asking Subs-Cache to later add the browser or OS to the filename (depending on what we tested against.) Otherwise, don't set a variable.
- At regular page load time, first generate a user agent-free filename, then do a file_exists on that filename + a browser + OS, if it exists, load it. Otherwise test filename + browser, if it exists, load it. Otherwise test filename + OS, if it exists, load it. Otherwise test filename, if it exists, load it. Otherwise rebuild cache file.
It adds quite an extra few file_exists tests, I know... We could always cache the results for some time, or whatever...
Maybe it's all a bit... far-fetched...
Fishing for ideas here...
Basically, it seems that Wess never actually stores an OS string into the css filename, even if there's a file in the list with an OS suffix. I don't know why, because it used to work... Anyway... It needs some changing anyway, because currently the implementation is flawed. That is, if an @if or @is command takes place in a file, Wess doesn't care what the question is about, and doesn't send back any data regarding it. For instance, if you do a test on the user agent or OS, Subs-Cache (most specifically the actual css caching function) has absolutely no way of knowing that such a test took place Inside the file, allowing it to force-add browser/OS keywords to the filename... Similarly, if it doesn't need to actually rebuild the cache, there's no way to actually determine that an internal test took place, and thus an extra keyword is needed in the filename...
What I could do, though, is something like that...
- If the test is POSITIVE[1], set a special variable asking Subs-Cache to later add the browser or OS to the filename (depending on what we tested against.) Otherwise, don't set a variable.
- At regular page load time, first generate a user agent-free filename, then do a file_exists on that filename + a browser + OS, if it exists, load it. Otherwise test filename + browser, if it exists, load it. Otherwise test filename + OS, if it exists, load it. Otherwise test filename, if it exists, load it. Otherwise rebuild cache file.
It adds quite an extra few file_exists tests, I know... We could always cache the results for some time, or whatever...
Maybe it's all a bit... far-fetched...
Fishing for ideas here...
| 1. | Or (maybe) if it's NEGATIVE but with a negative statement such as (!ie7)...? |




