From: SourceForge.net <no...@so...> - 2007-09-19 00:05:26
|
Bugs item #1554769, was opened at 2006-09-08 16:12 Message generated for change (Comment added) made by vampire0 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100588&aid=1554769&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: macros Group: None >Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: Alan Ezust (ezust) >Assigned to: Björn Kautler (vampire0) Summary: evaluate buffer in beanshell - missing return value? Initial Comment: the macro, "evaluate buffer in beanshell" doesn't show me the output in the newly created buffer anymore. ---------------------------------------------------------------------- >Comment By: Björn Kautler (vampire0) Date: 2007-09-19 02:04 Message: Logged In: YES user_id=918212 Originator: NO Ok, I changed the script so that it does what its description states, that is using the current content of the buffer. Before the last saved version was used as the macro only took the pathname from the current buffer. Additionally if the scirpt returns any value different from null, the result of the return values toString() method is appended to the newly created buffer in a new line. rev. 10596 ---------------------------------------------------------------------- Comment By: Shlomy Reinstein (shlomy) Date: 2007-09-17 23:31 Message: Logged In: YES user_id=1477607 Originator: NO Yes, I agree. ---------------------------------------------------------------------- Comment By: Björn Kautler (vampire0) Date: 2007-09-17 23:24 Message: Logged In: YES user_id=918212 Originator: NO I also think that System.out should not go to the newly created buffer, but the result of the evaluation should. That is how BeanShell everywhere works. If you type System.out.println("foo") in the BeanShell console, it also doesn't show any result because println returns null. Shlomy do you also agree to change the macro that it appends the result of the toString() method of the return value of the evaluated buffer in a new line at the end of the created buffer? (I hope this sentence is not too complex *g*) ---------------------------------------------------------------------- Comment By: Alan Ezust (ezust) Date: 2007-09-10 23:38 Message: Logged In: YES user_id=935841 Originator: YES ok I'm not sure if this is actually a bug anymore. Maybe it doesn't need to catch System.out I see that some macros do write to the new buffer, so the result buffer is not always empty. But the one thing I think it should do is append the evaluated expression value (if there is one) to the bottom of this new buffer. ---------------------------------------------------------------------- Comment By: Shlomy Reinstein (shlomy) Date: 2007-09-10 23:20 Message: Logged In: YES user_id=1477607 Originator: NO Ok, here's the final decision: - System.out calls from the evaluated buffer should go to the newly created buffer. - The return value of the evaluated buffer (if exists) should also go to the newly created buffer. ---------------------------------------------------------------------- Comment By: Shlomy Reinstein (shlomy) Date: 2007-09-10 21:30 Message: Logged In: YES user_id=1477607 Originator: NO Sorry, my mistake. We shouldn't care how the macro behaved in the past unless there is a good reason to maintain backward compatibility, and I don't think we have such a case here. So, we just need to decide - do we want this macro to direct System.out() calls from the BeanShell code to the new buffer? If so, I'll create a new runScript() method and use it in the macro. If not, we should close this bug. Let me know what you think. I just thought that the new buffer is created in case the macro wants to write things to it using the 'buffer' or 'textArea' BeanShell variables that are defined for it. ---------------------------------------------------------------------- Comment By: Shlomy Reinstein (shlomy) Date: 2007-09-10 20:45 Message: Logged In: YES user_id=1477607 Originator: NO I can see in the jEdit code that the BeanShell output should go to System.out. But I checked the differences from the initial SVN revision of the BeanShell class and it seems to always have worked this way. I think we should do one of the following, let me know what you think: - Try with an old version of jEdit (4.2 maybe?) where you remember that this macro was working differently, just to check if it really worked differently. - Close this bug, with the assumption that it has always worked like that and there is no need to change the behavior. - Create a new BeanShell.runScript() method that takes an output buffer as parameter and use this new method in the "Evaluate buffer in beanshell" macro. ---------------------------------------------------------------------- Comment By: Alan Ezust (ezust) Date: 2007-09-10 20:00 Message: Logged In: YES user_id=935841 Originator: YES I've updated the description to be more specific. Evaluate Buffer on the color picker macro does run the macro, and pop up GUI components if those are done in the macro. But any output from System.out.println() is lost, and there is always a new empty untitled buffer created as a result. Steps to result. Create a new buffer called "test.bsh" that ahs this line. System.out.println("one plus two is " + (1+2) ); i can see in the activity log: 9:59:35 AM [notice] AWT-EventQueue-0: one plus two is 3 but shouldn't this also show up in the untitled buffer? ---------------------------------------------------------------------- Comment By: Shlomy Reinstein (shlomy) Date: 2007-09-09 23:49 Message: Logged In: YES user_id=1477607 Originator: NO Most of the beanshell macros provided with jedit have no output, maybe that's why you see a new empty untitled buffer. Try with the text/color picker one to check if it works. ---------------------------------------------------------------------- Comment By: Shlomy Reinstein (shlomy) Date: 2007-09-09 23:34 Message: Logged In: YES user_id=1477607 Originator: NO I tried it, and it works fine for me. Here's what I did, let me know what I'm missing: - Opened the Text/Color_Picker.bsh macro (using Utilities->jEdit Home Directory->Macros) - Invoked the macro "evaluate buffer in beanshell" - Selected a color from the dialog and hit Ok Now the color picked is shown in the new buffer. Doesn't this work for you? ---------------------------------------------------------------------- Comment By: Alan Ezust (ezust) Date: 2007-09-09 23:12 Message: Logged In: YES user_id=935841 Originator: YES Evaluate Selection seems to work, I was mistaken about that. The macro "evaluate buffer in beanshell" always opens up a new empty untitled buffer. I would have expected the result of the beanshell script to end up in the new buffer, but it does not. ---------------------------------------------------------------------- Comment By: Alan Ezust (ezust) Date: 2007-09-09 23:12 Message: Logged In: YES user_id=935841 Originator: YES Evaluate Selection seems to work, I was mistaken about that. The macro "evaluate buffer in beanshell" always opens up a new empty untitled buffer. I would have expected the result of the beanshell script to end up in the new buffer, but it does not. ---------------------------------------------------------------------- Comment By: Shlomy Reinstein (shlomy) Date: 2007-09-08 22:28 Message: Logged In: YES user_id=1477607 Originator: NO Does this bug still exist? I can't reproduce. ---------------------------------------------------------------------- Comment By: Matthieu Casanova (kpouer) Date: 2006-12-16 11:37 Message: Logged In: YES user_id=285591 Originator: NO Hi, I do not understand what it should do ? Do you have an example of beanshell code and the expected result in the new buffer ? ---------------------------------------------------------------------- Comment By: Alan Ezust (ezust) Date: 2006-09-08 16:58 Message: Logged In: YES user_id=935841 And so is "Evaluate Selection", the built-in beanshell action. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100588&aid=1554769&group_id=588 |