On Wed, Dec 7, 2016 at 10:54 PM, BartC <b...@freeuk.com> wrote: > But if a program existed that took N filename parameters with the purpose of > deleting each of them, then it can't tell if they were typed in individually > (so indicating a stronger intent), or whether a finger slipped on a single > filename and a "*" was added, in which case it could choose to ask for > confirmation *if* it saw that this is a wildcard). > > 'Globbing' (if that means auto expansion) is taking away choice.
And app globbing takes away choice, too. How would you, with the Windows 'del' command, remove a single file that has a question mark in the name? Or are you depending entirely on the fact that Windows doesn't let you do that? Here's some of my music collection: $ find Music/ -name *\\?* Music/BeautyStone2/25: Act III. Change of scene?.ogg Music/BeautyStone2/08: Act II, Scene 1. No. 13 continued. Philip:"How say you?".ogg Music/Seekers/CD2 - 1964-1965/17. What Have They Done To The Rain?.mp3 Music/Seekers/CD4 - Hits. B-sides & 90s/14. When Will The Good Apples Fall?.mp3 Music/BeautyStone1/06: Act I, Scene 1. No. 4. Quartet. Simon:"Who stands within?".ogg Music/G&S/Pirates of Penzance/111 What ought we to do, Gentle sisters, say?.mp3 Music/G&S/Pirates of Penzance/MusicOnly/111 What ought we to do, Gentle sisters, say?.ogg Note that two of the Beauty Stone tracks include quotes as well as question marks. How do you identify those? Let's say you want to play one of these in VLC, and then maybe you decide that the track in Pirates of Penzance/MusicOnly is slightly mis-cropped, so you rebuild it from the one in the parent directory. How does that work on Windows? If you say "it doesn't", then (a) you have taken away choice on a fundamental level, (b) you have your head in the sand, and (c) you still haven't solved the problem of percent signs, carets, and so on, which are perfectly legal in file names, but have meaning to the shell. > They can be dangerous with certain commands and programs that accept > wildcards (which aren't many actually; I don't think any of my programs do). And that right there is a mark against the Windows model. Your program has to consciously accept wildcards. Mine (on Unix) just has to accept file names, and *everything will work*. > If the default is to have it on, then that's not satisfactory. One line in your shell initialization script will change that default. >> If *your* design was paramount, it would be up to each and every >> application to >> choose whether or not to support globbing and environment variable >> expansion, >> and hard luck if the application I needed to use didn't understand the >> globs I >> wanted. > > > How many programs take parameters that specify multiple files and work on > them together? As I said, I think hardly any of mine do. Once again, you assume that because YOU PERSONALLY write no programs that need this feature, the feature ITSELF is a bad thing. Can you not see the arrogance of that? > It took me a while to recognise the significance of the "\". In Windows > that's a path separator. You call yourself a Python programmer and are surprised to find that backslash is the escape character? It's a pretty common convention. > Most open source software seems to be written in C and seems to require > executing a 20,000 or 30,000-line bash 'configure' script, itself dependent > on a dozen Unix utilities, before it's possible to build it. Even if the > resulting product is cross-platform. Not everything is like that. Here, find the configure scripts in these projects of mine: https://github.com/Rosuav/Gypsum https://github.com/Rosuav/StilleBot https://github.com/Rosuav/FrozenOST https://github.com/Rosuav/LetMeKnow https://github.com/Rosuav/zawinski https://github.com/Rosuav/full-stack-app https://github.com/Rosuav/miniature-succotash https://github.com/Rosuav/Yosemite https://github.com/Rosuav/Hymns https://github.com/Rosuav/pike-alsa I think the longest config file is the Hymns collection, with a twenty-line makefile. Don't judge all open source on what you see in Mozilla Thunderbird. :) ChrisA -- https://mail.python.org/mailman/listinfo/python-list