From: SourceForge.net <no...@so...> - 2010-11-14 12:07:36
|
Bugs item #2841361, was opened at 2009-08-20 22:12 Message generated for change (Comment added) made by ctammes You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100588&aid=2841361&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: editor core Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Roland Hughes (roland_hughes) Assigned to: Nobody/Anonymous (nobody) Summary: clipboard copy won't paste into other applications Initial Comment: sometimes it works just fine, but usually on your second or third try, selecting and copying things via c-a c-c will create an empty buffer for an external application like IBM Symphony jEdit 4.3pre16 using Java 1.5.0_20 Karmic Koala Ubuntu ---------------------------------------------------------------------- Comment By: Chris Tammes (ctammes) Date: 2010-11-14 13:07 Message: I am using jEdit 4.3.1 and Java 1.6.0_18 on Ubuntu 10.04. Copy text from jEdit to Terminal does not work, to other editor (Kate, Gedit) or application (Chrome) it does work. I copy using Ctrl-C and Edit->Copy. (In jEdit and Terminal I use the same codepage.) ---------------------------------------------------------------------- Comment By: daniel hahler (blueyed) Date: 2010-07-30 21:31 Message: This is reported for gnome-terminal and jEdit in Ubuntu at https://launchpad.net/bugs/347308 and you will find other users experiencing this when searching the web, e.g. http://old.nabble.com/Copy-and-Paste-in-Linux---Fedora-td27138029.html ---------------------------------------------------------------------- Comment By: Shlomy Reinstein (shlomy) Date: 2009-12-04 14:37 Message: In that case: 1. Do you have the error widget enabled in the status bar? If not, I suggest to add it using the Global options. It will show you whenever an exception is raised. 2. Did you check the activity log if there were exceptions when "copy" failed to copy? Next time this happens, please check the activity.log file for exceptions or attach it to this item with the time of the problem. If you're copying large chunks of text, you may receive an OutOfMemory exception. In other cases, you might get other exceptions, and it's necessary to see them to understand what went wrong. ---------------------------------------------------------------------- Comment By: Roland Hughes (roland_hughes) Date: 2009-12-04 14:28 Message: It is most definitely a jEdit issue. If you visit http://www.theminimumyouneedtoknow.com and http://www.infiniteexposure.net you will see that I write a _lot_ of books. I am constantly bouncing around between multiple word processors along with SciTE, KATE, Eclipse, Cream,LSE, TEA, LeafPad, and jEdit. The problem only happens with jEdit. Another here identified a sequence which seems to repeat the problem consistently. I'm not on a virtual network and all of the storage I use for this system is physically on this system. ---------------------------------------------------------------------- Comment By: Shlomy Reinstein (shlomy) Date: 2009-12-04 04:46 Message: Recently, I found out that the copy problems from jEdit in my system also happen with other applications. Finally, I found out that the VNC client I was using (TightVNC) was the cause of the problem; it simply captures keystrokes and occasionally prevents "copy" from working. Once I stopped using TightVNC, the problem never occurred again. In my case, it was certainly not a jEdit issue, and I really doubt it is a jEdit issue in your case as well. Please try such copy/paste sequences with other applications, to check if this happens only if jEdit. Don't try just once or twice, make a sequence of copy/paste operations using another editor and see if you experience the problem there too. ---------------------------------------------------------------------- Comment By: Roland Hughes (roland_hughes) Date: 2009-08-24 23:46 Message: I don't think it is "content" related, but I have been able to reproduce this bug jEdit to jEdit. Open an instance of jEdit which has several text/source files open. Click on View and choose "new view". Drag the new view over to the side and click on File->New. Pick one of your source files in the other view, start selecting snippets of it with mouse, then click on Edit->copy. Click on your new view and attempt to paste via <Shift>Insert. It only works "some of the time". It shouldn't have anything to do with the source I was editing, but here it is, just in case: import System.Collections .INCLUDE "MEGA_INC:MEGA_STRUCTS.DBI" ;*********************************************************************** ; DBL_ZILL_CREATE_STATS_SUB ; Subroutine to import CSV file into indexed file. ;*********************************************************************** subroutine dbl_zill_create_stats_sub external function update_stat_elm ,i ; forward declare function endexternal .INCLUDE "MEGA_INC:MEGA_RECS.DBI" literal D_ZERO ,d., 0.0 record tt ,i4 mega_chan ,i4 mega_stat_chan ,i4 draw_stat_chan ,i4 record_count ,i4 l_x ,i4 l_y ,i4 l_z ,i4 eof_flg ,Boolean, %FALSE file_err_flg ,Boolean, %FALSE l_sub ,i4 l_draw_no ,i4 dstats ,[ELM_COUNT]zillionare_stat_rec_struct mstats ,[ELM_COUNT]zillionare_stat_rec_struct proc xcall flags( 7000000, 1) open(tt=%syn_freechn,i,"tt:") try open( mega_chan=%syn_freechn,i:i, & MEGA_FILE_NAME , & SHARE:Q_NO_EXCL , & RECTYPE:1) catch (e, @Exception) begin l_x = %SYSERR writes( tt, %string(l_x) + " result code opening " + MEGA_FILE_NAME) forms(tt, -3) file_err_flg = %TRUE eof_flg = %TRUE end endtry ;----- ; Create our output files ;----- if (.NOT. file_err_flg) begin try open( mega_stat_chan=%syn_freechn, & o:i, & MSTAT_FILE_NAME , & FDL:"@MEGA_DAT:MEGA_STATS.FDL" , & RECTYPE:1) catch (e, @Exception) begin l_x = %SYSERR writes( tt, %string( l_x) + & " result trying to open " + MSTAT_FILE_NAME ) close( mega_chan) file_err_flg = %TRUE eof_flg = %TRUE end endtry end if (.NOT. file_err_flg) begin try open( draw_stat_chan=%syn_freechn,o:i, & DSTAT_FILE_NAME , & FDL:"@MEGA_DAT:MEGA_STATS.FDL" , & RECTYPE:1) catch(e, @Exception) begin l_x = %SYSERR writes( tt, %string( l_x) + & " result trying to open " + DSTAT_FILE_NAME) close( mega_chan) close( mega_stat_chan) file_err_flg = %TRUE eof_flg = %TRUE end endtry end ; ; close up and go home if we had trouble opening a file ; if (file_err_flg) goto exit_program ;--- ; Initialize some values ;--- record_count = 0 l_draw_no = 0 ;--- ; Don't trust the documentation, empty the ; arrays properly before continuing ;--- for l_x FROM 1 THRU ELM_COUNT BY 1 begin dstats[ l_x].elm_no = l_x dstats[ l_x].hit_count = 0 dstats[ l_x].last_draw_no = 0 dstats[ l_x].since_last = 0 dstats[ l_x].curr_seq = 0 dstats[ l_x].longest_seq = 0 dstats[ l_x].max_btwn = 0 xcall fp_from_num( dstats[ l_x].pct_hits, D_ZERO) xcall fp_from_num( dstats[ l_x].ave_btwn, D_ZERO) mstats[ l_x] = dstats[ l_x] end ;--- ; Loop through all input records ;--- while (.NOT. eof_flg) call read_drawings ;--- ; Write final count and new stats files ;--- writes( tt, %string(record_count) + " records processed"); call generate_final_stats call write_stats close( mega_chan) close( mega_stat_chan) close( draw_stat_chan) close( tt) goto exit_program ;--------------------------------------------------------------------- ; Bulk of the work happens here ;--------------------------------------------------------------------- read_drawings, reads( mega_chan, draw_rec, eof_in, DIRECTION:Q_FORWARD, & WAIT:7) incr record_count incr l_draw_no if ( (record_count // 100) .eq. (record_count / 100)) writes(tt, " Processed " + %string( record_count) & + " records") ;--- ; The function doesn't care which array we are working with ;--- l_z = update_stat_elm( dstats[ draw_rec.no_1], l_draw_no) l_z = update_stat_elm( dstats[ draw_rec.no_2], l_draw_no) l_z = update_stat_elm( dstats[ draw_rec.no_3], l_draw_no) l_z = update_stat_elm( dstats[ draw_rec.no_4], l_draw_no) l_z = update_stat_elm( dstats[ draw_rec.no_5], l_draw_no) l_z = update_stat_elm( mstats[ draw_rec.mega_no], l_draw_no) return eof_in, eof_flg = %TRUE return ;--------------------------------------------------------------------- ; Subroutine to calculate final stat values ;--------------------------------------------------------------------- generate_final_stats, for l_x from 1 thru ELM_COUNT by 1 begin xcall final_elm_stats( dstats[ l_x], l_draw_no) xcall final_elm_stats( mstats[ l_x], l_draw_no) end return ;--------------------------------------------------------------------- ; Subroutine to send data to output files ;--------------------------------------------------------------------- write_stats, for l_x from 1 thru ELM_COUNT by 1 begin try store( mega_stat_chan, mstats[ l_x]) catch (e, @Exception) begin l_y = %SYSERR writes(tt, %string( l_y) + " result trying to write " & + "to " + MSTAT_FILE_NAME) writes(tt, "Element number was " + %string( l_x)) end endtry try store( draw_stat_chan, dstats[ l_x]) catch (e, @Exception) begin l_y = %SYSERR writes(tt, %string( l_y) + " result trying to write " & + "to " + DSTAT_FILE_NAME) writes(tt, "Element number was " + %string( l_x)) end endtry end exit_program, if (%CHOPEN(tt)) close(tt) XRETURN endsubroutine ;*********************************************************************** ; Function to update one of the stat elms ; ; Because the structures are the same ; this works for either drawing elms or ; mega elms ;*********************************************************************** function update_stat_elm, i inout req elm ,zillionare_stat_rec_struct in req draw_no ,i4 record l_since ,i4 proc l_since = draw_no - elm.last_draw_no if (l_since .eq. 1) then begin incr elm.curr_seq if (elm.curr_seq .gt. elm.longest_seq) elm.longest_seq = elm.curr_seq end else begin elm.curr_seq = 0 if (l_since .gt. elm.max_btwn) elm.max_btwn = l_since end incr elm.hit_count elm.last_draw_no = draw_no elm.since_last = l_since freturn 1 endfunction ;*********************************************************************** ; Subroutine to calculate all stats for ; one of the stat elms. ; ; Because the structures are the same ; this works for either drawing elms or ; mega elms ;*********************************************************************** subroutine final_elm_stats inout req elm ,zillionare_stat_rec_struct inout req draw_no ,i record flt_1 ,d9.3 ,0 flt_2 ,d9.3 ,0 proc flt_1 = elm.hit_count flt_2 = draw_no if (flt_2 .lt. 1) ; stop divide by zero problem flt_2 = 1 xcall fp_from_num( elm.pct_hits, (flt_1 / flt_2)) flt_1 = draw_no - elm.hit_count flt_2 = elm.hit_count if (flt_2 .lt. 1) then xcall fp_from_num( elm.ave_btwn, 9999.0) else xcall fp_from_num( elm.ave_btwn, (flt_1 / flt_2)) elm.since_last = draw_no - elm.last_draw_no xreturn endsubroutine ---------------------------------------------------------------------- Comment By: Shlomy Reinstein (shlomy) Date: 2009-08-21 21:30 Message: I've also had some copy/paste problems recently with jEdit, and I sent an email or two to the list for that, with no responses. I use Windows XP, the problems I experienced are such that the copy action sometimes does not copy anything, so in fact the clipboard continues to contain the content of the previous copy. I also verified this using an external clipboard viewer (I wanted to know if the problem was in the copy action or the paste action, since this problem showed up in jEdit as well for me). I tried to see how the code works, and I really don't understand how this can happen. If I find a way to reliably reproduce this, or at least be able to reproduce in a very short time, I will be able to debug and see what went wrong. If you can provide a reproduction scenario, please do. ---------------------------------------------------------------------- Comment By: Roland Hughes (roland_hughes) Date: 2009-08-21 16:36 Message: Last night I found the other really bad part about this bug. If you hit the "empty paste" issue quite a few times trying to paste into Lotus Symphony from IBM, you will eventually cause symphony to go into a race loop. Perhaps jEdit is also walking on a critical JVM resource here since both products are written in Java. I've been working on a second edition of "The Minimum You Need to Know to Be an OpenVMS Application Developer" and trying to use jEdit for the code in the last couple of chapters...mainly because it could highlight COBOL and nothing highlights DIBOL. ---------------------------------------------------------------------- Comment By: Roland Hughes (roland_hughes) Date: 2009-08-20 23:00 Message: No, it's a jEdit bug. It has something to do with the "internal clipboard" for lack of a better phrase where you can copy-append. There seems to be some path through the c-c logic which copies it to that internal clipboard, but not the real clipboard used by other applications. It usually always works the first time so I will wager someone forgot to clear a flag. ---------------------------------------------------------------------- Comment By: Alan Ezust (ezust) Date: 2009-08-20 22:37 Message: I've seen this too, but I assumed it was a java or platform bug, not related to jEdit, since I can paste it back in jEdit. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100588&aid=2841361&group_id=588 |