From: David Boyd Date: 2005-05-30T06:23:12+09:00 Subject: Re: sciTe editor IRB window getting double characters Here's some solutions for scite configuration mistakes from another list: ----------> Hello, today I installed Ruby per 1.8.2-14 final and tried to adapt scite like it was before (previous version installed per 1.8.0-10), according to the tips documented on: http://www.rubygarden.org/ruby?SciTEAndStdinStdout (Old ruby.properties file contained: if PLAT_WIN command.go.*.rb=cmd /c ruby $(FileNameExt) < con: > con: command.go.subsystem.*.rb=1 command.go.*.rbw=rubyw $(FileNameExt) command.go.subsystem.*.rbw=1 command.compile.*.rb=cmd /c ruby -d -r debug $(FileNameExt) < con: > con: command.compile.subsystem.*.rb=1 command.compile.*.rbw=rubyw -d -r debug $(FileNameExt) command.compile.subsystem.*.rbw=1 command.build.*.rb=cmd /c ruby myscript.rb $(FileNameExt) < con: > con: command.build.subsystem.*.rb=1 ) The advantage of the above setting was: stdin/out in a DOS-Box, error output in output pane of SciTE. 1.) As there were many enhancements in SciTE, I first tried to use it out-of-the-box with the following script: ---------------- puts "Hello" x = gets puts "Got: " + x gets # keep DOS box open until ---------------- it doesn't work successfully: A DOS-Box is opened but does not write any output or take any input. I tried: a) Clicking into the output pane (which gains focus then). Now you can type in some string, enter return two times and all output is shown then. => You have to insert '$stdout.flush' after each 'puts' line to get output shown immediately in the output pane (but the DOS box is a dead window only). Also: b) Changing the subsystem to '0' makes the script work in the output pane (no DOS-Box is opened), but output is again shown only after the last 'gets', as it is buffered. You have to insert '$stdout.flush' here too after each 'puts' line. Also the cursor stays in the code pane and focus must be changed by explicitly clicking into the output pane. c) Changing the 'go' command to : command.go.*.rb=cmd /c ruby $(FileNameExt) < con: > con: which worked pretty fine in 1.8.0-10, but doesn't work at all d) SOLUTION: is to simply change the subsystem to '2'. An extra Window is opened and all works as expected. BUT: When having errors (you can e.g. force a syntax error), error output is not sent to output pane, like it was in my documented setting in the 1.8.0-10 installation. 2.) IRB - new command in SciTE now Starting irb with the command setup as in ruby.properties opens the irb prompt in the scite output pane, but every input is echoed double. This way working is very annoying. Seems that the subsystem command is wrong: command.3.subsystem.*.rb=1 instead of: command.subsystem.3.*.rb=1 (*rbw too) Then setting subsystem to '2' ... command.subsystem.3.*.rb=2 ... opens IRB in own window and all is perfect. Another try, keeping subsystem with '0' and setting command.quiet.3.*.rb=1 starts IRB in output pane, but NO output is displayed at all. So starting it in separate window is the only way. 3.) Starting Debugger - unfortunately missing in the properties: command.name.4.*.rb=Debug command.4.*.rb=ruby -d -r debug $(FileNameExt) command.subsystem.4.*.rb=2 command.name.4.*.rbw=Debug command.4.*.rbw= ruby -d -r debug $(FileNameExt) command.subsystem.4.*.rbw=2 Starts the script in the debugger in a separate window. Works fine. The command for *.rbw is exactly the same as for *.rb, as i/o has to work identically for debugging. 4.) Help: The path is not adapted on installation. My installation dir is: D:\MyData\Ruby But the setting after installation was: command.help.*.rb=$(CurrentWord)!C:\Ruby\ProgrammingRuby.chm command.help.subsystem.*.rb=4 command.help.*.rbw=$(CurrentWord)!C:\Ruby\ProgrammingRuby.chm command.help.subsystem.*.rbw=4 (Yes, I know, this problem should be reported separately) --------- On 5/22/05, soxinbox wrote: > Has any one had a problem with the latest release of Ruby and the included > sciTE editor. When I open the irb screen, every character I type shows up > twice, except the backspace which only wipes one character. If I type a=b, > the screen shows aa==bb. Do I have something set up wrong? The rest of the > sciTE windows work fine, its just the built in irb. > > > >