Re: Setting up searches in Xcode (Re: [ANN] Xcode + Leopard at WWDCthis year)
Re: Setting up searches in Xcode (Re: [ANN] Xcode + Leopard at WWDCthis year)
- Subject: Re: Setting up searches in Xcode (Re: [ANN] Xcode + Leopard at WWDCthis year)
- From: David Masover <email@hidden>
- Date: Thu, 20 Jul 2006 21:31:08 -0500
Laurence Harris wrote:
On Jul 20, 2006, at 7:56 PM, Steve Checkoway wrote:
On Jul 20, 2006, at 4:32 PM, Laurence Harris wrote:
On Jul 20, 2006, at 12:31 PM, Chris Espinosa wrote:
Surely if you know enough about /usr/include to want to search it
explicitly, you know the ways to get to it through the standard Mac
OS X user interface that hides Unixisms from end users?
This is an assumption, or at least an expectation, but there's no
logical basis for believing it is always true. Developers have a wide
variety of backgrounds, work habits, and experiences. I never use
paths. To be honest, it would not even occur to me under normal
circumstances to type a path to specify a file because it's just
something I haven't needed to do in over 15 years of using a Mac.
Were I really a path kind of person, I'd probably be using Windows. ;-)
That's impossible to believe. Do you keep all of your files in the
root directory of your harddrive? In 15 years of using a mac, you've
never had to double click a folder?
Double-clicking a folder is not typing a path (I did say "type a path").
It's navigating a tree. A path is a text string. However, read on and
please stop trying to make it sound like I'm an idiot. I am not.
Have you never #include <sys/types.h> before?
Actually, no, I haven't. I've never needed to.
All of these are using paths in a very explicit manner.
What part of using a file path is windows-ish? Every modern (and many
much less modern) operating systems have had file systems that were
not flat.
The practice of having users type paths to specify files and writing
software that relies on paths to track files. Prior to Mac OS X Apple
strongly discouraged the use of paths as file specifiers, relying
instead on references that incorporated file and directory IDs. It
wasn't until the Unix and Cocoa folks started writing path dependent
code that moving things started causing applications to get confused
That's bad app design -- use relative, configurable paths, not absolute
paths. Besides, one of the major points of Unix is that paths don't
necessarily correspond to real, physical locations.
and
for problems to occur if a path is too long.
Hmm. You're right:
eve:~/pathtest/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/b/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/c/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/d/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/e/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/f/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/g/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/h/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/i/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/j/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/k/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/l/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/m/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/n/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/o/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/p/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/q/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/r/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/s/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t
/u/v/w/x/y/z/t/b/c/d/e/f
sanity$ cd g
cd: could not get current directory: getcwd: cannot access parent
directories: No such file or directory
cd: could not get current directory: getcwd: cannot access parent
directories: No such file or directory
eve:. sanity$ cd -
chdir: could not get current directory: getcwd: cannot access parent
directories: No such file or directory
/Users/sanity/pathtest/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/b/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/c/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/d/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/e/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/f/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/g/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/h/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/i/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/j/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/k/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/l/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/m/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/n/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/o/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/p/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/q/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/r/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/s/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p
/q/r/s/t/u/v/w/x/y/z/t/b/c/d/e/f
eve:~/pathtest/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/b/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/c/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/d/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/e/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/f/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/g/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/h/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/i/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/j/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/k/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/l/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/m/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/n/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/o/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/p/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/q/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/r/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/s/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t
/u/v/w/x/y/z/t/b/c/d/e/f
sanity$
It would appear that this is the limit, either in number of directories
or sheer filename length. Still, I can't see hitting that limit anytime
soon. Also, it would appear to be a limitation of the software, not the
system or the concept:
eve:~ sanity$ rm -rf pathtest/
eve:~ sanity$
The "rm" command, a standard Unix utility which I can't imagine has had
one line changed since BSD or Linux, managed to go far deeper into that
tree than Bash would, in order to rmdir all its children. I think that
path goes about 10 more directories deep, and I'm sure Spotlight had no
problem with it.
Interestingly, my Linux machine (connected to with SSH), running
Reiser4, doesn't have this problem at all. So maybe it's not bash.
$ pwd
/home/idle/pathtest/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/b/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/c/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/d/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/e/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/f/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/g/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/h/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/i/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/j/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/k/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/l/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/m/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/n/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/o/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/p/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/q/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/r/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/s/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/
r/s/t/u/v/w/x/y/z/t/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/u/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/v/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/w/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/x/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/y/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/z/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z
In the interests of science, I doubled the path a couple of times:
$ mkdir -p .`pwd`
$ cd .`pwd`
Every time I ran those set of commands, my path doubled. I got pretty
far before I got sick of Terminal.app taking 20 seconds to send a
keystroke across. Here's the output of pwd -- I could not for the life
of me copy-paste from Terminal.app. I suspect the problem was with
displaying the entire path in the window title, as well as in a single
line of the terminal. But I got it from somewhere else, and it still
won't paste in Thunderbird... Finally checked. 5487 characters. That
probably includes a newline, but then, the real path would include a
null character at the end.
So, lots of poor application design, but there's no really good reason
not to use or support names that insanely long.
In any case, it's far longer than anyone will ever have to use, and much
safer than the common Windows limit of 256 characters, which you might
reasonably hit with a single filename.
I organize my Applications folder into subfolders. I remember the first
time I played with iDVD and tried to run its tutorial. Because I'd moved
iDVD into Applications/Media, iDVD couldn't find its tutorial which was
in its own bundle.
Another example of absolute vs. relative, and poor app design. An
Application bundle is designed specifically to let programs depend on
relative paths.
I've also seen
Software Updater crash because an application wasn't in the Applications
folder. I think they've fixed it now, but I remember when I used to drag
certain applications out of their subfolders back up into Applications
before running Software Updater just so it wouldn't crash.
This is actually pretty fair. How would you propose that Software
Updater find the applications it's trying to update? Maybe it could
have links to them somewhere... like some, I don't know, PATH inside its
configuration directory?
We didn't have these kinds of problems prior to Mac OS X.
I don't think you had a software updater prior to Mac OS X.
They're an
improvement the Unix and Cocoa folks dumped upon us because they rely on
paths.
Allow me to quote an old Usenet signature:
"Those who do not understand Unix are condemned to reinvent it, poorly."
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden