}
	public static boolean find(View view)	{		boolean repeat = false;		Buffer buffer = fileset.getNextBuffer(view,null);		try		{			SearchMatcher matcher = getSearchMatcher(true);			if(matcher == null)			{				view.getToolkit().beep();				return false;			}			record(view,"find(view)",false,true);			view.showWaitCursor();loop:			for(;;)			{				while(buffer != null)				{					// Wait for the buffer to load					if(!buffer.isLoaded())						VFSManager.waitForRequests();					int start;					if(view.getBuffer() == buffer && !repeat)					{						JEditTextArea textArea = view.getTextArea();						Selection s = textArea.getSelectionAtOffset(							textArea.getCaretPosition());						if(s == null)							start = textArea.getCaretPosition();						else if(reverse)							start = s.getStart();						else 							start = s.getEnd();					}					else						start = 0;					if(find(view,buffer,start))						return true;					buffer = fileset.getNextBuffer(view,buffer);				}				if(repeat)				{					// no point showing this dialog box twice					view.getToolkit().beep();					return false;				}				/* Don't do this when playing a macro */				if(BeanShell.isScriptRunning())					break loop;				boolean restart;				if(wrap)					restart = true;				else				{					Integer[] args = { new Integer(reverse ? 1 : 0) };					int result = GUIUtilities.confirm(view,						"keepsearching",args,						JOptionPane.YES_NO_OPTION,						JOptionPane.QUESTION_MESSAGE);					restart = (result == JOptionPane.YES_OPTION);				}				if(restart)				{					// start search from beginning					buffer = fileset.getFirstBuffer(view);					repeat = true;				}				else					break loop;			}		}		catch(Exception e)		{			Log.log(Log.ERROR,SearchAndReplace.class,e);			Object[] args = { e.getMessage() };			if(args[0] == null)				args[0] = e.toString();			GUIUtilities.error(view,"searcherror",args);		}		finally		{			view.hideWaitCursor();		}		return false;	}