From: SourceForge.net <no...@so...> - 2007-05-26 20:50:20
|
Bugs item #1726211, was opened at 2007-05-26 16:50 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100588&aid=1726211&group_id=588 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Slava Pestov (spestov) Assigned to: Nobody/Anonymous (nobody) Summary: Issue with recursive macros Initial Comment: So I have this macro find_using.bsh: ----- SearchAndReplace.setSearchString("USING:"); SearchAndReplace.setAutoWrapAround(false); SearchAndReplace.setReverseSearch(true); SearchAndReplace.setIgnoreCase(false); SearchAndReplace.setRegexp(false); SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); SearchAndReplace.find(view); s = textArea.getSelectionAtOffset(textArea.getCaretPosition()); if(s == null) textArea.selectNone(); else textArea.removeFromSelection(s); buffer.addMarker('a',textArea.getCaretPosition()); SearchAndReplace.setSearchString(" ;"); SearchAndReplace.setAutoWrapAround(false); SearchAndReplace.setReverseSearch(false); SearchAndReplace.setIgnoreCase(false); SearchAndReplace.setRegexp(false); SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); SearchAndReplace.find(view); s = textArea.getSelectionAtOffset(textArea.getCaretPosition()); if(s == null) textArea.selectNone(); else textArea.removeFromSelection(s); editPane.goToMarker('a',true); ----- Now, I want to record a new macro which calls this macro in the middle. However, if I invoke find_using while recording, the recorded macro will contain the following: ----- SearchAndReplace.setSearchString("USING:"); SearchAndReplace.setAutoWrapAround(false); SearchAndReplace.setReverseSearch(true); SearchAndReplace.setIgnoreCase(false); SearchAndReplace.setRegexp(false); SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); SearchAndReplace.find(view); SearchAndReplace.setSearchString(" ;"); SearchAndReplace.setAutoWrapAround(false); SearchAndReplace.setReverseSearch(false); SearchAndReplace.setIgnoreCase(false); SearchAndReplace.setRegexp(false); SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); SearchAndReplace.find(view); Macros.getMacro("select_using").invoke(view); ----- When it should be just Macros.getMacro("select_using").invoke(view); That is, search and replace operations from a macro playback should not go into the recorded macro; only search and replace directly invoked by the user should be recorded. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100588&aid=1726211&group_id=588 |