On Jun 26, 1:57 pm, John H Palmieri <jhpalmier...@gmail.com> wrote: > On Jun 26, 1:15 pm, gsw <georgswe...@googlemail.com> wrote: > > > > > > > On 26 Jun., 21:34, Arnaud Bergeron <aberge...@gmail.com> wrote: > > > > 2009/6/26 kcrisman <kcris...@gmail.com>: > > > > > On Jun 26, 2:24 pm, John H Palmieri <jhpalmier...@gmail.com> wrote: > > > >> On Jun 26, 10:33 am, kcrisman <kcris...@gmail.com> wrote: > > > > >> > > > I'm really sorry this is so weird. This is OSX.4 on a PPC, so > > > >> > > > perhaps > > > >> > > > something got changed in those scripts recently? > > > > >> > > Yes, it got changed in #5806. Can you try > > > > >> > > find SAGE_ROOT/devel/sage/sage// \( -name *.py \) -exec grep -i -H > > > >> > > cannot {} + > > > > >> > Same error. I tried putting a ; in various places, but to no avail. > > > > >> How about if you replace the "+" at the end with "\;"? > > > > The '+' thing is a GNUism. That's why it doesn't work on 10.4. You > > > should use > > It's also in Mac OS X 10.5, which still claims to be BSD. See the web > page > > <http://developer.apple.com/documentation/Darwin/Reference/ManPages/ > man1/find.1.html> > > > > > > > Wow, > > on my MacIntel OS X 10.4.11 box the following command *does work > > fine*: > > > find /Users/Shared/sage/sage-4.0.2/devel/sage/sage// \( -name *.py \) - > > exec grep -i -H cannot {} + > > > especially this command has got this "GNUish +" at the end, but on my > > MacPPC OS X 10.4.11 box I get this strange error message (find: -exec: > > no terminating ";"), too. > > Weird! > > So it is not a OS X 10.4.11 issue, but rather a MacPPC versus MacIntel > > issue --- OS X 10.5 won't install on my MacPPC box (it has got only > > 550MHz), could someone please check this on a MacPPC with OS X 10.5, > > e.g. at the Sage build farm? > > > > find $SAGE_ROOT/devel/sage/sage/ \( -name '*.py' \) -print0 | xargs -0 > > > grep -i -H 'cannot' > > > This version of the command works fine on *both* the OS X 10.4.11 > > MacIntel and MacPPC, and is fast. > > > > So that you get the behavior that '+' gives (limit the number of > > > invocations of grep) and stay portable. > > > > > Bingo! > > > > > find Desktop/sage-4.1.alpha1/devel/sage/sage// \( -name *.py \) -exec > > > > grep -i -H Palmieri {} \; > > > This one works on both boxes, too, but behaves way slower. > > > Cheers, > > gsw > > For portability and ease of debugging (but not necessarily for speed), > I'm working on redoing all of this in python, using os.walk to replace > the find command. Assuming that this is a good idea, I have an > implementation question: at the moment, if you do > > sage: search_src('submatrix', 'starting', '0') > > then you get matches like > > matrix/matrix0.pyx: Get The 2 x 2 submatrix of M, starting at > row index and column > > Notice that the third argument '0' is not in the Sage source code, but > only in the file name. This is not what the documentation says that > the function is supposed to do. Should we change the documentation or > the behavior? > > That is, we have > > def search_src(string, extra1='', extra2='', extra3='', extra4='', > extra5='', interact=True): > > Should the strings extra1, etc., be searched for only in the source > code, or should they be searched for both in the source code and the > file name?
My vote, by the way, is for the first of these: only search in the source code. As it currently stands, the following two commands behave differently: sage: search_src('submatrix', 'starting', '0') sage: search_src('0', 'submatrix', 'starting') because the first argument is not searched for in file names, while the remaining arguments are. John --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---