On Sat, Apr 18, 2015 at 09:09:34AM -0400, Karl Dahlke wrote: > The problem that the glob check solves is subtle, > and it only has to do with error messages. > Imagine you want to read a file into the current buffer. > You use the shorthand > > r z* > > because you believe this will grab the correct file. > But z* doesn't match anything. > Since we are globbing you get the error message > > shell pattern doesn't match any files > > or something like that. > Now if you're sure the file is called z*, or even zz, > and you type > > r zz > > you don't want to get that error message. > But that's what you get if you glob. > I know that you didn't want to glob, and didn't mean to glob, > and I give the other error message > > cannot open file zz > > Other than clear error messages corresponding to what you are trying to do, > the check probably doesn't change a thing. I think I'd rather clean up the error message and remove the checking tbh, something like: "No files found matching z*" That way we just glob and it works. Plus, if I'm using variable expansion and globbing I get to see what I actually globbed. At the moment, if I have a variable $filepath which I think is set to say "/mnt/data/filestore/files/packages/descriptions/" and I know that I've got a file called zfs_latest_version.txt under that directory I'd probably type: e $filepath/z* Since I know that's the only file with that name under that directory. However if I've changed $filepath to something else like "/mnt/data/filestore/files/patches/" then I just get "Shell pattern did not match any files." which is rather unhelpful. Cheers, Adam.