From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Alex V. Koval" Newsgroups: gmane.emacs.bugs Subject: bug#11724: 24.1; emacs freeze (full hang, ctrl+G or kill -15 do not help) on rope lucky assist Date: Sat, 16 Jun 2012 09:36:47 +0300 Organization: UA2WEB LLC Message-ID: <20120616093647.5db4c4af@avk-v131.local> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/UMX8tLG/5rXszyLp2BV57Jz" X-Trace: dough.gmane.org 1339868173 24330 80.91.229.3 (16 Jun 2012 17:36:13 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 16 Jun 2012 17:36:13 +0000 (UTC) To: 11724@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Jun 16 19:36:11 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Sfwuv-0006Tq-K6 for geb-bug-gnu-emacs@m.gmane.org; Sat, 16 Jun 2012 19:36:10 +0200 Original-Received: from localhost ([::1]:35578 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sfwuv-00043d-Ju for geb-bug-gnu-emacs@m.gmane.org; Sat, 16 Jun 2012 13:36:09 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:48038) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sfwuo-0003yl-AL for bug-gnu-emacs@gnu.org; Sat, 16 Jun 2012 13:36:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sfwuj-0000Q8-MH for bug-gnu-emacs@gnu.org; Sat, 16 Jun 2012 13:36:01 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:35558) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sfwuj-0000Q2-Cf for bug-gnu-emacs@gnu.org; Sat, 16 Jun 2012 13:35:57 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1Sfwxi-0001hF-D8 for bug-gnu-emacs@gnu.org; Sat, 16 Jun 2012 13:39:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: "Alex V. Koval" Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 Jun 2012 17:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 11724 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.13398683076470 (code B ref -1); Sat, 16 Jun 2012 17:39:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 16 Jun 2012 17:38:27 +0000 Original-Received: from localhost ([127.0.0.1]:45102 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sfwx4-0001gD-RF for submit@debbugs.gnu.org; Sat, 16 Jun 2012 13:38:27 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:50599) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sfmg8-0003Dl-Gn for submit@debbugs.gnu.org; Sat, 16 Jun 2012 02:40:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sfmd6-0004cw-Sj for submit@debbugs.gnu.org; Sat, 16 Jun 2012 02:37:09 -0400 Original-Received: from lists.gnu.org ([208.118.235.17]:40717) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sfmd6-0004cq-Mf for submit@debbugs.gnu.org; Sat, 16 Jun 2012 02:37:04 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:48437) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sfmd1-0007Yo-QJ for bug-gnu-emacs@gnu.org; Sat, 16 Jun 2012 02:37:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sfmcv-0004Xu-Pu for bug-gnu-emacs@gnu.org; Sat, 16 Jun 2012 02:36:59 -0400 Original-Received: from mail1.halogen.kharkov.ua ([195.24.253.7]:36901) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sfmcv-0004WG-3u for bug-gnu-emacs@gnu.org; Sat, 16 Jun 2012 02:36:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ua2web.com; s=mail1; h=Content-Type:Mime-Version:Message-ID:Subject:To:From:Date; bh=pMeD9Lqu/aY3o4H/HTqdguDEv+gRrtjQEAO2ompTv8A=; b=gmwoq0Y9+8CGiQS5HDVNDtW26TtaJf7hd3nflvSxwPV6duvQy2r68Wqb9tYtkhtr7D7SrNJi4HZZSjEUi6PEW/YQd8i1oPbvHLJWhUvtQsX+SJ2LmUBcU6hpMRlDYNG4; Original-Received: from [109.87.65.239] (helo=avk-v131.local) by mail1.halogen.kharkov.ua with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA256:128) (Exim 4.80) (envelope-from ) id 1Sfmcq-0004p1-HE for bug-gnu-emacs@gnu.org; Sat, 16 Jun 2012 09:36:48 +0300 X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.10; x86_64-pc-linux-gnu) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Mailman-Approved-At: Sat, 16 Jun 2012 13:38:21 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:61042 Archived-At: --MP_/UMX8tLG/5rXszyLp2BV57Jz Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline This bug report will be sent to the Bug-GNU-Emacs mailing list and the GNU bug tracker at debbugs.gnu.org. Please check that the From: line contains a valid email address. After a delay of up to one day, you should receive an acknowledgement at that address. Please write in English if possible, as the Emacs maintainers usually do not have translators for other languages. Please describe exactly what actions triggered the bug, and the precise symptoms of the bug. If you can, give a recipe starting from `emacs -Q': 1. Have installed rope, pymacs and ropemacs packages of current versions avk-v131 ~ # easy_install ropemacs Searching for ropemacs Best match: ropemacs 0.6 Processing ropemacs-0.6-py2.7.egg ropemacs 0.6 is already the active version in easy-install.pth Using /usr/lib64/python2.7/site-packages/ropemacs-0.6-py2.7.egg 2. (require 'pymacs) (pymacs-load "ropemacs" "rope-") 3. Open pyton file. try to autocomplete on line 241 (remove part of False, like Fa and then call rope-lucky-assist. 4. Emacs is hang completely and does not react to Ctrl+G. It does tries to say that it will save and quite on trying kill -15, but then it still hangs. If Emacs crashed, and you have the Emacs process in the gdb debugger, please include the output from the following gdb commands: `bt full' and `xbacktrace'. For information about debugging Emacs, please read the file /usr/share/emacs/24.1/etc/DEBUG. (gdb) xbacktrace "accept-process-output" (0xffffa710) "if" (0xffffa998) "unless" (0xffffab08) "while" (0xffffad38) "progn" (0xffffaef8) "unwind-protect" (0xffffb098) "let" (0xffffb338) "save-match-data" (0xffffb4a8) "save-excursion" (0xffffb6a8) "let*" (0xffffb928) "save-current-buffer" (0xffffbb18) "with-current-buffer" (0xffffbc88) "pymacs-round-trip" (0xffffbdd0) "let" (0xffffc1d8) "while" (0xffffc408) "let" (0xffffc6b8) "pymacs-serve-until-reply" (0xffffc800) "pymacs-apply" (0xffffcb00) "rope-lucky-assist" (0xffffcef8) "call-interactively" (0xffffd208) "execute-extended-command" (0xffffd4d8) "call-interactively" (0xffffd7e8) (gdb) (gdb) bt full #0 0x000000360ded41a3 in select () from /lib64/libc.so.6 No symbol table info available. #1 0x000000000053d900 in xg_select (max_fds=17, rfds=0x7fffffffa520, wfds=0x7fffffffa4a0, efds=0x0, timeout=0x7fffffffa480) at xgselect.c:100 all_rfds = { fds_bits = {125312, 0 } } all_wfds = { fds_bits = {0 } } tmo = { tv_sec = 140737488331264, tv_usec = 4778886 } tmop = 0x7fffffffa480 context = 0xd78950 have_wfds = 1 n_gfds = 6 our_tmo = 0 retval = 0 our_fds = 0 i = 6 nfds = 0 tmo_in_millisec = -1 #2 0x000000000065c675 in wait_reading_process_output (time_limit=5, microsecs=0, read_kbd=0, do_display=0, wait_for_cell=12755490, wait_proc=0xd15820, just_wait_proc=0) at process.c:4613 timeout_reduced_for_timers = 0 channel = -23264 nfds = -1 Available = { fds_bits = {65536, 0 } } Writeok = { fds_bits = {0 } } ---Type to continue, or q to quit--- check_write = 1 check_delay = 0 no_avail = 0 xerrno = 4 proc = 140737488332336 timeout = { tv_sec = 1, tv_usec = 137904 } end_time = { tv_sec = 1339827375, tv_usec = 548508 } wait_channel = 16 got_some_input = 0 count = 28 #3 0x000000000065ad50 in Faccept_process_output (process=5, seconds=20, millisec=12755490, just_this_one=12755490) at process.c:3999 secs = 5 usecs = 0 #4 0x00000000006044bb in eval_sub (form=22601014) at eval.c:2360 numargs = 8 args_left = 12755490 i = 20 maxargs = 4 argvals = {13719589, 20, 12755490, 12755490, 140737488332960, 6308188, 140737488332688, 22937202} fun = 12138405 val = 2 original_fun = 12928882 original_args = 22601030 funcar = 9498805 backtrace = { next = 0x7fffffffa970, function = 0x7fffffffa7e0, args = 0x7fffffffa710, ---Type to continue, or q to quit--- nargs = 2, debug_on_exit = 0 } gcpro1 = { next = 0xc482e2, var = 0x603e9b, nvars = 12755490 } gcpro2 = { next = 0xc48222, var = 0xc2a1f2, nvars = 0 } gcpro3 = { next = 0xc7a192, var = 0x7fffffffa710, nvars = 4 } #5 0x00000000006004f9 in Fif (args=23420662) at eval.c:310 cond = 22601062 gcpro1 = { next = 0x360ea0fa10, var = 0x158dc16, nvars = 140737488333072 } #6 0x000000000060415c in eval_sub (form=23420614) at eval.c:2298 numargs = 12 args_left = 23420662 i = 22601062 maxargs = 12755490 argvals = {2, 12923298, 23420614, 9498717, 22801221, 140737488333072, 140737488333232, 6311040} fun = 12126157 val = 2 original_fun = 12878242 original_args = 23420662 ---Type to continue, or q to quit--- funcar = 12755490 backtrace = { next = 0x7fffffffaae0, function = 0x7fffffffa9a0, args = 0x7fffffffa998, nargs = -1, debug_on_exit = 0 } gcpro1 = { next = 0x0, var = 0x0, nvars = 3 } gcpro2 = { next = 0x7fffffffa9b0, var = 0x60487e, nvars = 140737488333264 } gcpro3 = { next = 0x90f05d, var = 0x158dd36, nvars = 22601078 } #7 0x000000000060472c in eval_sub (form=22600998) at eval.c:2411 fun = 13177062 val = 12878194 original_fun = 13182786 original_args = 22601062 funcar = 12877106 backtrace = { next = 0x7fffffffad10, function = 0x7fffffffab10, args = 0x7fffffffab08, nargs = -1, debug_on_exit = 0 } gcpro1 = { next = 0x0, var = 0x0, nvars = 0 } gcpro2 = { next = 0x0, var = 0x0, nvars = 0 } gcpro3 = { next = 0x0, var = 0x158e7c6, nvars = 0 } #8 0x0000000000600613 in Fprogn (args=22601174) at eval.c:364 val = 12755490 gcpro1 = { next = 0x1567660, var = 0x158dc46, nvars = 12755538 } #9 0x0000000000601daa in Fwhile (args=22600982) at eval.c:1142 test = 22603718 body = 22601174 gcpro1 = { next = 0x7fffffffac40, var = 0x678b, nvars = 18036 } gcpro2 = { next = 0x7fffffffaab0, var = 0x19e2c, nvars = 72144 ---Type to continue, or q to quit--- } #10 0x000000000060415c in eval_sub (form=22603702) at eval.c:2298 numargs = 8 args_left = 22600982 i = 12755490 maxargs = 12755490 argvals = {13719589, 72144, 21632539, -1, 12595136, 4, 12807538, 2} fun = 12127021 val = 12755490 original_fun = 12878946 original_args = 22600982 funcar = 12877106 backtrace = { next = 0x7fffffffaed0, function = 0x7fffffffad40, args = 0x7fffffffad38, nargs = -1, debug_on_exit = 0 } gcpro1 = { next = 0x2, var = 0x1, nvars = 140737488334128 } gcpro2 = { next = 0x1, var = 0x10, nvars = 23096358 } gcpro3 = { next = 0x7fffffffad10, var = 0x7fffffffac70, nvars = 3 } #11 0x0000000000600613 in Fprogn (args=23251750) at eval.c:364 val = 12755490 gcpro1 = { next = 0xc2a222, var = 0xc2a222, nvars = 12755490 } #12 0x000000000060415c in eval_sub (form=23251494) at eval.c:2298 numargs = 44 args_left = 23251510 i = 12755490 maxargs = 12755490 argvals = {12755490, 12755490, 12755490, 12755490, 12755490, 12755490, 12755490, 12755490} fun = 12126253 val = 12755490 original_fun = 12878418 original_args = 23251510 funcar = 12755490 backtrace = { next = 0x7fffffffb070, function = 0x7fffffffaf00, args = 0x7fffffffaef8, nargs = -1, debug_on_exit = 0 } gcpro1 = { next = 0xc2a222, var = 0xc2a222, nvars = 12755490 } gcpro2 = { next = 0xc2a222, var = 0xc2a222, nvars = 12755490 } gcpro3 = { ---Type to continue, or q to quit--- next = 0xc2a222, var = 0xc2a222, nvars = 12755490 } #13 0x00000000006022d3 in Funwind_protect (args=23251462) at eval.c:1371 val = 140737488334848 count = 27 #14 0x000000000060415c in eval_sub (form=23251446) at eval.c:2298 numargs = 8 args_left = 23251462 i = 12755490 maxargs = 12755490 argvals = {12755490, 21969856, 2, 6067841, 140737488335200, 6308993, 23251302, 22602054} fun = 12127213 val = 12933426 original_fun = 12879138 original_args = 23251462 funcar = 0 backtrace = { next = 0x7fffffffb310, function = 0x7fffffffb0a0, args = 0x7fffffffb098, nargs = -1, debug_on_exit = 0 } gcpro1 = { next = 0x90f00c, var = 0x90f00d, nvars = 140737488335872 } gcpro2 = { next = 0xc2a222, var = 0x14f3bc2, nvars = 140737488334960 } ---Type to continue, or q to quit--- gcpro3 = { next = 0x7fffffffb180, var = 0x91c4c6, nvars = 12755490 } #15 0x0000000000600613 in Fprogn (args=23251430) at eval.c:364 val = 12755490 gcpro1 = { next = 0x7fffffffada8, var = 0xc2a222, nvars = 23251238 } #16 0x0000000000601cf4 in Flet (args=23251414) at eval.c:1120 temps = 0x7fffffffb170 tem = 23251238 lexenv = 12755490 elt = 9553062 varlist = 12755490 count = 26 argnum = 1 gcpro1 = { next = 0x7fffffffb260, var = 0x605c77, nvars = 140737488335680 } gcpro2 = { next = 0xc2a222, var = 0x162c966, nvars = 1 } sa_count = 26 sa_must_free = 0 #17 0x000000000060415c in eval_sub (form=23251302) at eval.c:2298 numargs = 8 args_left = 23251414 ---Type to continue, or q to quit--- i = 22602854 maxargs = -16944 argvals = {9552893, 22602774, 22602870, 22603110, 22603158, 22603334, 22603382, 22603526} fun = 12126973 val = 2 original_fun = 12878850 original_args = 23251414 funcar = 140737488338384 backtrace = { next = 0x7fffffffb480, function = 0x7fffffffb340, args = 0x7fffffffb338, nargs = -1, debug_on_exit = 0 } gcpro1 = { next = 0x7fffffffb460, var = 0x60444f, nvars = 12 } gcpro2 = { next = 0x7fffffffb350, var = 0x60487e, nvars = 140737488335728 } gcpro3 = { next = 0x158e766, var = 0x158e7b6, nvars = 22601206 } #18 0x000000000060472c in eval_sub (form=22602758) at eval.c:2411 fun = 13174006 val = 140737488336176 original_fun = 13183970 original_args = 22602854 ---Type to continue, or q to quit--- funcar = 12877106 backtrace = { next = 0x7fffffffb680, function = 0x7fffffffb4b0, args = 0x7fffffffb4a8, nargs = -1, debug_on_exit = 0 } gcpro1 = { next = 0x7fffffffb490, var = 0x5e959d, nvars = 140737488336144 } gcpro2 = { next = 0xc2a222, var = 0xc37b32, nvars = 22605590 } gcpro3 = { next = 0xc7a192, var = 0xc2a222, nvars = 23094326 } #19 0x0000000000600613 in Fprogn (args=22600422) at eval.c:364 val = 12755490 gcpro1 = { next = 0x7fffffffb570, var = 0x5f2bc8, nvars = 140737488336352 } #20 0x00000000005f2eed in Fsave_excursion (args=22600422) at editfns.c:972 val = 12755490 count = 25 #21 0x000000000060415c in eval_sub (form=22604758) at eval.c:2298 numargs = 4 ---Type to continue, or q to quit--- args_left = 22600422 i = 12755490 maxargs = -16944 argvals = {140737488336384, 6209558, 1, 21632539, 140737488336752, 6308943, 22605590, 22605462} fun = 12122933 val = 12814162 original_fun = 12895714 original_args = 22600422 funcar = 22801221 backtrace = { next = 0x7fffffffb900, function = 0x7fffffffb6b0, args = 0x7fffffffb6a8, nargs = -1, debug_on_exit = 0 } gcpro1 = { next = 0x0, var = 0x158e146, nvars = 140737488336864 } gcpro2 = { next = 0xb86ad5, var = 0x158eea6, nvars = 12085965 } gcpro3 = { next = 0x7fffffffb790, var = 0x158eb36, nvars = 108 } #22 0x0000000000600613 in Fprogn (args=22600438) at eval.c:364 val = 12755490 gcpro1 = { next = 0x7fffffffb900, ---Type to continue, or q to quit--- var = 0xc2a222, nvars = 12755490 } #23 0x000000000060194a in FletX (args=22604742) at eval.c:1050 varlist = 12755490 var = 19276274 val = 12755490 elt = 19276274 lexenv = 12755490 count = 18 gcpro1 = { next = 0xc2a222, var = 0xc2a252, nvars = 140737488336944 } gcpro2 = { next = 0xc2a222, var = 0xc2a222, nvars = 12755538 } gcpro3 = { next = 0x7fffffffb7e0, var = 0x600613, nvars = 140737488345680 } #24 0x000000000060415c in eval_sub (form=22604326) at eval.c:2298 numargs = 16 args_left = 22604742 i = 12755490 maxargs = -16944 argvals = {22801221, 6198685, 140737488337040, 6293647, 140737488337392, 22608070, 140737488337408, 6308188} fun = 12126925 val = 12755490 original_fun = 12878898 original_args = 22604742 ---Type to continue, or q to quit--- funcar = 23094742 backtrace = { next = 0x7fffffffbaf0, function = 0x7fffffffb930, args = 0x7fffffffb928, nargs = -1, debug_on_exit = 0 } gcpro1 = { next = 0x1606506, var = 0x110158f936, nvars = 13429426 } gcpro2 = { next = 0x7fffffffba80, var = 0x7fffffffb8f0, nvars = 13083026 } gcpro3 = { next = 0x7fffffffda50, var = 0x7fffffffb860, nvars = 1 } #25 0x0000000000600613 in Fprogn (args=23094758) at eval.c:364 val = 12755490 gcpro1 = { next = 0xc2a222, var = 0x1606506, nvars = 140737488337728 } #26 0x00000000005f2f4f in Fsave_current_buffer (args=23094550) at editfns.c:987 val = 140737488338016 count = 17 #27 0x000000000060415c in eval_sub (form=23094534) at eval.c:2298 numargs = 12 ---Type to continue, or q to quit--- args_left = 23094550 i = 22605302 maxargs = -16944 argvals = {3, 13337010, 23094534, 9545885, 1, 140737488337552, 140737488337712, 6311040} fun = 12122981 val = 2 original_fun = 12914802 original_args = 23094550 funcar = 140737488338384 backtrace = { next = 0x7fffffffbc60, function = 0x7fffffffbb20, args = 0x7fffffffbb18, nargs = -1, debug_on_exit = 0 } gcpro1 = { next = 0xc, var = 0x7fffffffbb00, nvars = 4 } gcpro2 = { next = 0x7fffffffbb30, var = 0x60487e, nvars = 140737488337744 } gcpro3 = { next = 0x91a89d, var = 0x15dfc62, nvars = 22605318 } #28 0x000000000060472c in eval_sub (form=22605286) at eval.c:2411 fun = 12998758 val = 20 original_fun = 13429378 original_args = 22605302 funcar = 12877106 backtrace = { next = 0x7fffffffbf60, function = 0x7fffffffbc90, args = 0x7fffffffbc88, nargs = -1, debug_on_exit = 0 } gcpro1 = { next = 0x1606c06, var = 0x16065f6, nvars = 140737488338368 } gcpro2 = { next = 0x7fffffffbc50, var = 0x5e959d, nvars = 8 } gcpro3 = { next = 0x0, var = 0x15dfd52, nvars = 140737488338304 } #29 0x0000000000600613 in Fprogn (args=22600662) at eval.c:364 val = 12755490 gcpro1 = { next = 0x15a27e1, var = 0xc2a222, nvars = 140737488338304 } #30 0x0000000000606415 in funcall_lambda (fun=12732806, nargs=2, arg_vector=0x7fffffffbdd0) at eval.c:3226 val = 140737488338384 syms_left = 12755490 next = 22936914 ---Type to continue, or q to quit--- lexenv = 12755490 count = 15 i = 2 optional = 0 rest = 0 #31 0x0000000000605f7c in apply_lambda (fun=12732806, args=22609174) at eval.c:3110 args_left = 12755490 i = 2 numargs = 2 arg_vector = 0x7fffffffbdd0 gcpro1 = { next = 0x7fffffffbfb0, var = 0x60415c, nvars = 2 } gcpro2 = { next = 0xcdba32, var = 0xc2a222, nvars = 22609446 } gcpro3 = { next = 0x158ffb6, var = 0xc2a222, nvars = 68732232274 } tem = 23094774 sa_count = 15 sa_must_free = 0 #32 0x000000000060475f in eval_sub (form=22609158) at eval.c:2414 fun = 12732806 val = 23084566 original_fun = 22936962 original_args = 22609174 funcar = 12807586 backtrace = { ---Type to continue, or q to quit--- next = 0x7fffffffc1b0, function = 0x7fffffffbf90, args = 0x7fffffffbdd0, nargs = 2, debug_on_exit = 0 } gcpro1 = { next = 0xc48432, var = 0xc47d32, nvars = 13136018 } gcpro2 = { next = 0x7fffffffbf38, var = 0xffffffffffffffff, nvars = 140737488338784 } gcpro3 = { next = 0x1, var = 0xc2a222, nvars = 140737488339376 } #33 0x0000000000601b82 in Flet (args=22609238) at eval.c:1090 temps = 0x7fffffffc010 tem = 23084566 lexenv = 12755490 elt = 22609142 varlist = 22609222 count = 15 argnum = 0 gcpro1 = { next = 0x90f00d, var = 0x90efe9, nvars = 12100341 } gcpro2 = { ---Type to continue, or q to quit--- next = 0x0, var = 0x0, nvars = 0 } sa_count = 15 sa_must_free = 0 #34 0x000000000060415c in eval_sub (form=22609126) at eval.c:2298 numargs = 16 args_left = 22609238 i = 12755490 maxargs = 12755490 argvals = {22613542, 1, 0, 12755490, 140737488339616, 6308900, 12755490, 140737488339200} fun = 12126973 val = 13150738 original_fun = 12878850 original_args = 22609238 funcar = 6307483 backtrace = { next = 0x7fffffffc3e0, function = 0x7fffffffc1e0, args = 0x7fffffffc1d8, nargs = -1, debug_on_exit = 0 } gcpro1 = { next = 0x7fffffffc1c0, var = 0xc8a922, nvars = 140737488339808 } gcpro2 = { next = 0xb8a829, var = 0x90e095, nvars = 0 } gcpro3 = { next = 0x1, var = 0x158fcb6, nvars = 12755490 } #35 0x0000000000600613 in Fprogn (args=22605094) at eval.c:364 val = 12755490 gcpro1 = { next = 0x121f836, var = 0xc2a222, nvars = 12755538 } #36 0x0000000000601daa in Fwhile (args=22609110) at eval.c:1142 test = 22609078 body = 22605094 gcpro1 = { next = 0xc36d72, var = 0x7fffffffe1e0, nvars = 140737488339744 } gcpro2 = { next = 0x7fffffffc2d8, var = 0xffffffffffffffff, nvars = 19163078 } #37 0x000000000060415c in eval_sub (form=22609062) at eval.c:2298 numargs = 8 args_left = 22609110 i = 12755490 maxargs = 12755490 argvals = {140737488339832, 12755538, 12755490, 12755538, 140737488340176, 6307483, 140737488339872, 6168085} fun = 12127021 val = 12755490 original_fun = 12878946 original_args = 22609110 funcar = 4318039782 ---Type to continue, or q to quit--- backtrace = { next = 0x7fffffffc690, function = 0x7fffffffc410, args = 0x7fffffffc408, nargs = -1, debug_on_exit = 0 } gcpro1 = { next = 0xc7a192, var = 0xc2a222, nvars = 23072582 } gcpro2 = { next = 0x1626de0, var = 0xc02fc0, nvars = 2 } gcpro3 = { next = 0x7fffffffc008, var = 0xc2a252, nvars = 12878194 } #38 0x0000000000600613 in Fprogn (args=22605110) at eval.c:364 val = 12755490 gcpro1 = { next = 0x1, var = 0xc2a222, nvars = 140737488340320 } #39 0x0000000000601cf4 in Flet (args=22609046) at eval.c:1120 temps = 0x7fffffffc4e0 tem = 12755490 lexenv = 12755490 elt = 12880834 varlist = 12755490 count = 12 argnum = 3 gcpro1 = { next = 0x90efa4, var = 0x1600ee6, nvars = 12878242 } gcpro2 = { next = 0x7fffffffc690, var = 0x7fffffffc550, nvars = 3 } sa_count = 12 sa_must_free = 0 #40 0x000000000060415c in eval_sub (form=22608950) at eval.c:2298 numargs = 12 args_left = 22609046 i = 12755490 maxargs = -14336 argvals = {140737488340224, 3, 9494572, 22613558, 12820562, 140737488340992, 140737488340608, 42955985358} fun = 12126973 val = 12755490 original_fun = 12878850 original_args = 22609046 funcar = 12877106 backtrace = { next = 0x7fffffffc990, function = 0x7fffffffc6c0, args = 0x7fffffffc6b8, nargs = -1, debug_on_exit = 0 } gcpro1 = { next = 0x1591f26, var = 0x7fffffffc800, ---Type to continue, or q to quit--- nvars = 140737488340976 } gcpro2 = { next = 0x7fffffffc500, var = 0xc2a222, nvars = 23072726 } gcpro3 = { next = 0xc, var = 0x90e02d, nvars = 9494573 } #41 0x0000000000600613 in Fprogn (args=22605142) at eval.c:364 val = 12755490 gcpro1 = { next = 0x7fffffffc990, var = 0x7fffffffc780, nvars = 140737488340856 } #42 0x0000000000606415 in funcall_lambda (fun=22605158, nargs=2, arg_vector=0x7fffffffc800) at eval.c:3226 val = 12991446 syms_left = 12755490 next = 22936914 lexenv = 12755490 count = 10 i = 2 optional = 0 rest = 0 #43 0x0000000000605f7c in apply_lambda (fun=22605158, args=22621190) at eval.c:3110 args_left = 12755490 i = 2 numargs = 2 arg_vector = 0x7fffffffc800 gcpro1 = { next = 0x0, var = 0x360de7a166, nvars = 2 } gcpro2 = { next = 0x2, var = 0x1, nvars = 1 } gcpro3 = { next = 0x15dacc8, var = 0x15dacb0, nvars = 2 } tem = 23072726 sa_count = 10 sa_must_free = 0 #44 0x000000000060475f in eval_sub (form=22621206) at eval.c:2414 fun = 22605158 val = 13495650 original_fun = 22400194 original_args = 22621190 funcar = 12807586 backtrace = { next = 0x7fffffffcc90, function = 0x7fffffffc9c0, args = 0x7fffffffc800, nargs = 2, debug_on_exit = 0 } gcpro1 = { next = 0x94, var = 0x158f226, nvars = 140737488341744 } gcpro2 = { ---Type to continue, or q to quit--- next = 0x7fffffffc980, var = 0x5e959d, nvars = 140737488341376 } gcpro3 = { next = 0x1, var = 0xc8a922, nvars = 140737488341616 } #45 0x0000000000600613 in Fprogn (args=22617846) at eval.c:364 val = 21852721 gcpro1 = { next = 0x7fffffffcc90, var = 0x7fffffffca80, nvars = 140737488341624 } #46 0x0000000000606415 in funcall_lambda (fun=22617830, nargs=2, arg_vector=0x7fffffffcb00) at eval.c:3226 val = 12126445 syms_left = 12755490 next = 13150498 lexenv = 12755490 count = 8 i = 2 optional = 0 rest = 0 #47 0x0000000000605f7c in apply_lambda (fun=22617830, args=23089382) at eval.c:3110 args_left = 12755490 i = 2 numargs = 2 arg_vector = 0x7fffffffcb00 gcpro1 = { next = 0x40, var = 0x170cb50, nvars = 2 } gcpro2 = { next = 0x4, var = 0xc2a222, nvars = 0 } gcpro3 = { next = 0x30, var = 0x170ce10, nvars = 232164720288 } tem = 22606374 sa_count = 8 sa_must_free = 0 #48 0x000000000060475f in eval_sub (form=23089398) at eval.c:2414 fun = 22617830 val = 12755490 original_fun = 22400338 original_args = 23089382 funcar = 12807586 backtrace = { next = 0x7fffffffce20, function = 0x7fffffffccc0, args = 0x7fffffffcb00, nargs = 2, debug_on_exit = 0 } gcpro1 = { next = 0x7fffffffcca0, var = 0x5e202a, nvars = 24168896 } gcpro2 = { next = 0xfff00000000, var = 0x4, nvars = 24170000 ---Type to continue, or q to quit--- } gcpro3 = { next = 0x2, var = 0x14edbd6, nvars = 140737488342128 } #49 0x0000000000600613 in Fprogn (args=23089414) at eval.c:364 val = 12755490 gcpro1 = { next = 0x7fffffffcd80, var = 0x5e1e15, nvars = 140737488342776 } #50 0x0000000000606415 in funcall_lambda (fun=23089462, nargs=1, arg_vector=0x7fffffffcef8) at eval.c:3226 val = 232161519680 syms_left = 12755490 next = 13150498 lexenv = 12755490 count = 7 i = 1 optional = 0 rest = 1 #51 0x0000000000605d2b in Ffuncall (nargs=2, args=0x7fffffffcef0) at eval.c:3063 fun = 23089462 original_fun = 21971218 funcar = 12807586 numargs = 1 lisp_numargs = 12755538 val = 12755490 backtrace = { next = 0x7fffffffd160, function = 0x7fffffffcef0, args = 0x7fffffffcef8, nargs = 1, debug_on_exit = 0 ---Type to continue, or q to quit--- } internal_args = 0x12a7a16 i = 5665918 #52 0x00000000005ffd33 in Fcall_interactively (function=21971218, record_flag=12755538, keys=12801813) at callint.c:852 val = 536871164 args = 0x7fffffffcef0 visargs = 0x7fffffffced0 specs = 19397793 filter_specs = 19397793 teml = 12755490 up_event = 12755490 enable = 12755490 speccount = 5 next_event = 20 prefix_arg = 12755490 string = 0x7fffffffcf10 "P" tem = 0x6b8c4c "" varies = 0x7fffffffceb0 "" i = 2 nargs = 2 foo = 0 arg_from_tty = 0 gcpro1 = { next = 0xc2a1f2, var = 0x14cd106, nvars = 4294967297 } gcpro2 = { next = 0x12a0536, var = 0x14f4112, nvars = 12755490 } gcpro3 = { next = 0xc2a1f2, var = 0xc2a222, nvars = 2 } gcpro4 = { next = 0x585097, var = 0xd8ec76, nvars = 2 } gcpro5 = { next = 0x7fffffffd010, var = 0x580327, nvars = 140737488343232 } key_count = 20 record_then_fail = 0 save_this_command = 21971218 save_last_command = 13483874 save_this_original_command = 14250354 save_real_this_command = 21971218 #53 0x0000000000605abe in Ffuncall (nargs=4, args=0x7fffffffd200) at eval.c:3009 fun = 12125965 original_fun = 12895810 funcar = 0 numargs = 3 lisp_numargs = 0 val = 0 backtrace = { next = 0x7fffffffd400, function = 0x7fffffffd200, args = 0x7fffffffd208, nargs = 3, debug_on_exit = 0 } internal_args = 0x7fffffffd208 i = 0 #54 0x00000000006052e2 in call3 (fn=12895810, arg1=21971218, arg2=12755538, arg3=12755490) at eval.c:2802 ---Type to continue, or q to quit--- ret_ungc_val = 12755538 gcpro1 = { next = 0x7fffffffd240, var = 0x1605136, nvars = 4 } args = {12895810, 21971218, 12755538, 12755490} #55 0x000000000057a5b3 in Fcommand_execute (cmd=21971218, record_flag=12755538, keys=12755490, special=12755490) at keyboard.c:10330 final = 21971218 tem = 12807586 prefixarg = 12755490 #56 0x000000000057a81a in Fexecute_extended_command (prefixarg=12755490) at keyboard.c:10419 function = 21971218 saved_last_point_position = 8079 saved_keys = 22882789 saved_last_point_position_buffer = 23227877 bindings = 23295429 value = 12755490 gcpro1 = { next = 0x1e0, var = 0xc251a6, nvars = 4 } gcpro2 = { next = 0xc334a5, var = 0xc2a222, nvars = 4314498310 } gcpro3 = { next = 0x7fffffffd380, var = 0x581fa5, nvars = 140737488343936 } hstarted = 1 #57 0x0000000000605a68 in Ffuncall (nargs=2, args=0x7fffffffd4d0) at eval.c:3002 fun = 9392237 original_fun = 12804034 funcar = 6318502 numargs = 1 lisp_numargs = 12755490 val = 0 backtrace = { next = 0x7fffffffd740, function = 0x7fffffffd4d0, args = 0x7fffffffd4d8, nargs = 1, debug_on_exit = 0 } internal_args = 0x7fffffffd4d8 i = 5665918 #58 0x00000000005ffd33 in Fcall_interactively (function=12804034, record_flag=12755490, keys=12801813) at callint.c:852 val = 0 args = 0x7fffffffd4d0 visargs = 0x7fffffffd4b0 specs = 22714001 filter_specs = 22714001 teml = 0 up_event = 12755490 enable = 12755490 speccount = 3 next_event = 2 prefix_arg = 12755490 string = 0x7fffffffd4f0 "P" tem = 0x6b8c4c "" varies = 0x7fffffffd490 "" i = 2 nargs = 2 foo = 0 arg_from_tty = 0 ---Type to continue, or q to quit--- gcpro1 = { next = 0x0, var = 0x0, nvars = 0 } gcpro2 = { next = 0x7fffffffd870, var = 0x66bb40, nvars = 8192 } gcpro3 = { next = 0x4fdc2477, var = 0xa0ef7, nvars = 2 } gcpro4 = { next = 0x0, var = 0xf423e, nvars = 2 } gcpro5 = { next = 0x7fffffffd5d0, var = 0x66c8f5, nvars = 0 } key_count = 2 record_then_fail = 0 save_this_command = 12804034 save_last_command = 14250402 save_this_original_command = 12804034 save_real_this_command = 12804034 #59 0x0000000000605abe in Ffuncall (nargs=4, args=0x7fffffffd7e0) at eval.c:3009 fun = 12125965 original_fun = 12895810 funcar = 0 numargs = 3 lisp_numargs = 0 val = 0 backtrace = { next = 0x0, function = 0x7fffffffd7e0, args = 0x7fffffffd7e8, nargs = 3, debug_on_exit = 0 } internal_args = 0x7fffffffd7e8 i = 0 #60 0x00000000006052e2 in call3 (fn=12895810, arg1=12804034, arg2=12755490, arg3=12755490) at eval.c:2802 ret_ungc_val = 12755490 gcpro1 = { next = 0x7fffffffd820, var = 0x8f506d, nvars = 4 } args = {12895810, 12804034, 12755490, 12755490} #61 0x000000000057a5b3 in Fcommand_execute (cmd=12804034, record_flag=12755490, keys=12755490, special=12755490) at keyboard.c:10330 final = 12804034 tem = 12755490 prefixarg = 12755490 #62 0x0000000000568420 in command_loop_1 () at keyboard.c:1572 scount = 2 cmd = 12804034 keybuf = {108, 480, 444, 6458291, 12755490, 140737488345552, 12755538, 14178422, 12782811, 0, 140737488345392, 5246901, 9417990, 12807826, 140737488345440, 5159599, 1, 12755490, 12755490, 9418001, 140737488345456, 12755538, 140737488345520, 5666806, 140737488345552, 14178422, 4283840, 16130656, 0, 4283840} i = 2 prev_modiff = 126 prev_buffer = 0x1626de0 already_adjusted = 0 ---Type to continue, or q to quit--- #63 0x0000000000602724 in internal_condition_case (bfun=0x567bf5 , handlers=12807778, hfun=0x5674e4 ) at eval.c:1515 val = 0 c = { tag = 12755490, val = 12755490, next = 0x7fffffffdc00, gcpro = 0x0, jmp = {{ __jmpbuf = {0, 2135201759241587526, 4283840, 140737488347616, 0, 0, 2135201759189158726, -2135201484288537786}, __mask_was_saved = 0, __saved_mask = { __val = {16311542589421013830, 0, 4294967295, 13611062, 1, 9360000, 0, 0, 0, 0, 232135905313, 1, 0, 1, 232161069296, 0} } }}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0 } h = { handler = 12807778, var = 12755490, chosen_clause = 12755538, tag = 0x7fffffffda80, next = 0x0 } #64 0x00000000005678e4 in command_loop_2 (ignore=12755490) at keyboard.c:1160 val = 0 #65 0x00000000006020ae in internal_catch (tag=12803522, func=0x5678be , arg=12755490) at eval.c:1272 c = { tag = 12803522, val = 12755490, next = 0x0, gcpro = 0x0, jmp = {{ __jmpbuf = {2, 2135201759017192262, 4283840, 140737488347616, 0, 0, 2135201759249976134, -2135201484222215354}, __mask_was_saved = 0, __saved_mask = { __val = {6200073, 100, 4301680482, 352, 12755490, 12150496, 12783536, 14, 2, 140737488346336, 12981680, 140737488346400, 12755490, 4283840, 140737488347616, 140737488346416} } }}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0 } #66 0x0000000000567897 in command_loop () at keyboard.c:1139 No locals. #67 0x0000000000567028 in recursive_edit_1 () at keyboard.c:759 count = 1 val = 12755490 #68 0x00000000005671cb in Frecursive_edit () at keyboard.c:823 count = 0 buffer = 12755490 #69 0x0000000000565308 in main (argc=2, argv=0x7fffffffe1e8) at emacs.c:1715 dummy = 140737326442504 stack_bottom_variable = 0 '\000' do_initial_setlocale = 1 skip_args = 0 rlim = { rlim_cur = 8720000, ---Type to continue, or q to quit--- rlim_max = 18446744073709551615 } no_loadup = 0 junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x7fffffffe0d0 "" Lisp Backtrace: "accept-process-output" (0xffffa710) "if" (0xffffa998) "unless" (0xffffab08) "while" (0xffffad38) "progn" (0xffffaef8) "unwind-protect" (0xffffb098) "let" (0xffffb338) "save-match-data" (0xffffb4a8) "save-excursion" (0xffffb6a8) "let*" (0xffffb928) "save-current-buffer" (0xffffbb18) "with-current-buffer" (0xffffbc88) "pymacs-round-trip" (0xffffbdd0) "let" (0xffffc1d8) "while" (0xffffc408) "let" (0xffffc6b8) "pymacs-serve-until-reply" (0xffffc800) "pymacs-apply" (0xffffcb00) "rope-lucky-assist" (0xffffcef8) "call-interactively" (0xffffd208) "execute-extended-command" (0xffffd4d8) "call-interactively" (0xffffd7e8) In GNU Emacs 24.1.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.10) of 2012-06-16 on avk-v131 Windowing system distributor `The X.Org Foundation', version 11.0.11102000 Configured using: `configure '--prefix=/usr' '--build=x86_64-pc-linux-gnu' '--host=x86_64-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--libdir=/usr/lib64' '--disable-dependency-tracking' '--program-suffix=-emacs-24' '--infodir=/usr/share/info/emacs-24' '--enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp' '--with-crt-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64' '--with-gameuser=games' '--without-compress-info' '--disable-maintainer-mode' '--without-hesiod' '--without-kerberos' '--without-kerberos5' '--with-gpm' '--with-dbus' '--without-gnutls' '--without-xml2' '--without-selinux' '--without-wide-int' '--with-sound' '--with-x' '--without-ns' '--without-gconf' '--without-gsettings' '--with-toolkit-scroll-bars' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xpm' '--with-imagemagick' '--with-xft' '--without-libotf' '--without-m17n-flt' '--with-x-toolkit=gtk' 'build_alias=x86_64-pc-linux-gnu' 'host_alias=x86_64-pc-linux-gnu' 'CFLAGS=-O2 -march=x86-64 -pipe' 'LDFLAGS=-Wl,--as-needed' 'CPPFLAGS='' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: POSIX value of $LC_TIME: nil value of $LANG: en_GB.UTF-8 value of $XMODIFIERS: nil locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Python Minor modes in effect: which-function-mode: t show-paren-mode: t highlight-changes-visible-mode: t cua-mode: t global-hl-line-mode: t yas/global-mode: t yas/minor-mode: t recentf-mode: t ropemacs-mode: t flymake-mode: t shell-dirtrack-mode: t diff-auto-refine-mode: t ido-everywhere: t tooltip-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent input: C-x 1 C-x C-f ~ / y p / d e f C-S-d C-x p o C-x p f C-g M-/ x r e p o r Recent messages: Using the CPython shell Loading vc-svn...done Unable to load color "dark slate" warning pyflakes/W:'HttpResponseRedirect' imported but unused warning pyflakes/W:'get_callable' imported but unused warning pyflakes/W:'itertools' imported but unused pymacs-report-error: Pymacs helper status is `signal' Auto-saving... warning pyflakes/W:'Http' imported but unused [2 times] Making completion list... Load-path shadows: ~/.emacs.d/psvn hides /usr/share/emacs/site-lisp/subversion/psvn /usr/share/emacs/site-lisp/flim/hex-util hides /usr/share/emacs/24.1/lisp/hex-util /usr/share/emacs/site-lisp/flim/md4 hides /usr/share/emacs/24.1/lisp/md4 ~/.emacs.d/flymake hides /usr/share/emacs/24.1/lisp/progmodes/flymake /usr/share/emacs/site-lisp/flim/hmac-md5 hides /usr/share/emacs/24.1/lisp/net/hmac-md5 /usr/share/emacs/site-lisp/flim/sasl-digest hides /usr/share/emacs/24.1/lisp/net/sasl-digest /usr/share/emacs/site-lisp/flim/hmac-def hides /usr/share/emacs/24.1/lisp/net/hmac-def /usr/share/emacs/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/24.1/lisp/net/sasl-ntlm /usr/share/emacs/site-lisp/flim/sasl hides /usr/share/emacs/24.1/lisp/net/sasl /usr/share/emacs/site-lisp/flim/ntlm hides /usr/share/emacs/24.1/lisp/net/ntlm /usr/share/emacs/site-lisp/flim/sasl-cram hides /usr/share/emacs/24.1/lisp/net/sasl-cram /usr/share/emacs/site-lisp/wl/rfc2368 hides /usr/share/emacs/24.1/lisp/mail/rfc2368 /usr/share/emacs/site-lisp/wl/utf7 hides /usr/share/emacs/24.1/lisp/gnus/utf7 /usr/share/emacs/site-lisp/semi/smime hides /usr/share/emacs/24.1/lisp/gnus/smime /usr/share/emacs/site-lisp/semi/pgg-gpg hides /usr/share/emacs/24.1/lisp/obsolete/pgg-gpg /usr/share/emacs/site-lisp/semi/pgg-def hides /usr/share/emacs/24.1/lisp/obsolete/pgg-def /usr/share/emacs/site-lisp/semi/pgg-parse hides /usr/share/emacs/24.1/lisp/obsolete/pgg-parse /usr/share/emacs/site-lisp/semi/pgg-pgp5 hides /usr/share/emacs/24.1/lisp/obsolete/pgg-pgp5 /usr/share/emacs/site-lisp/semi/pgg-pgp hides /usr/share/emacs/24.1/lisp/obsolete/pgg-pgp /usr/share/emacs/site-lisp/semi/pgg hides /usr/share/emacs/24.1/lisp/obsolete/pgg Features: (shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils help-mode view vc-dispatcher vc-svn python-mode info-look info saveplace which-func imenu paren hilit-chg cua-base server dired-x thingatpt bm browse-kill-ring ahg generic grep ewoc follow hl-line yasnippet recentf tree-widget cus-start cus-load remember org-remember org-datetree org ob-emacs-lisp ob-tangle ob-ref ob-lob ob-table org-footnote org-src ob-comint ob-keys ob ob-eval org-pcomplete org-list org-faces org-compat org-entities org-macs noutline outline cal-menu calendar cal-loaddefs pylookup browse-url python-pep8 python-pylint skeleton ropemacs pymacs uniquify warnings flymake-php flymake compile tramp tramp-compat auth-source eieio byte-opt bytecomp byte-compile cconv macroexp gnus-util mm-util mail-prsvr password-cache shell pcomplete comint ansi-color format-spec tramp-loaddefs php-mode etags cc-langs cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs speedbar sb-image ezimage dframe assoc psvn derived wid-edit cl log-edit ring pcvs-util add-log diff-mode easy-mmode pp elp ediff-merg ediff-diff ediff-wind ediff-mult ediff-help ediff-init ediff-util dired regexp-opt easymenu advice help-fns advice-preload initsplit edmacro kmacro ido site-gentoo mime-setup mail-mime-setup alist semi-setup path-util poe pym static apel-ver product semi-def time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces cus-face files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind dynamic-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) --MP_/UMX8tLG/5rXszyLp2BV57Jz Content-Type: text/x-python Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=00626-avk-143.py #!/usr/bin/env python """ change ENGINE of all database tables to InnoDB """ import re import optparse from collections import namedtuple from DjHDGutils.dbutils import iter_sql from django.core.management import color from django.core.management.sql import sql_all from django.db import connection, transaction, connections from django.db.models import get_apps, get_app from django.db.utils import DatabaseError class MySQLMeta(object): def __init__(self, metainfo): self._metainfo =3D metainfo def keys(self): """ Indexes """ _keys =3D [] for r in self._metainfo[1].split('\n'): r =3D r.strip() if r.endswith(','): r =3D r[:-1] if r.find('KEY') !=3D -1: _keys.append(r) return _keys @property def ENGINE(self): return re.search( 'ENGINE=3D(?P\w+)', self._metainfo[1] ).group('engine') def read_mysql_table_metainfo(): """ Read some information from MySQL command `show create table ` """ alltables =3D {} cursor =3D connection.cursor() cursor.execute('show tables') tables =3D [t[0] for t in cursor.fetchall()] Field =3D namedtuple('field', ['name', 'type', 'null', 'key', 'default', 'extra'], verbose=3DFalse) for table in tables: fields =3D [] for rec in iter_sql('desc %s' % table, database=3D'default'): fields.append(Field(*rec)) alltables[table] =3D {'fields': fields} for table in tables: for rec in iter_sql('show create table %s' % table, database=3D'def= ault'): alltables[table]['meta'] =3D MySQLMeta(rec) return alltables def change_tables_to_innodb(): """ Go over all tables in database and change its ENGINE """ table_info =3D read_mysql_table_metainfo() cursor =3D connection.cursor() cursor.execute("SHOW TABLES") tables =3D [] for row in cursor.fetchall(): tables.append(row[0]) for table in tables: if table_info[table]['meta'].ENGINE !=3D 'InnoDB': statement =3D "ALTER TABLE %(table)s "\ "ENGINE=3DInnoDB" % dict(table=3Dtable) print(statement) cursor.execute(statement) else: print('Table {} already InnoDB, skipping'.format(table)) cursor.close() add_constraint_syntax =3D re.compile( 'ALTER TABLE `(?P.*?)` ' 'ADD CONSTRAINT `(?P.*?)` '\ 'FOREIGN KEY \(`(?P.*?)`\) '\ 'REFERENCES `(?P.*)` \(`(?P.*)`\);') constraint_key_syntax =3D re.compile( 'CONSTRAINT `(?P.*?)` '\ 'FOREIGN KEY \(`(?P.*?)`\) '\ 'REFERENCES `(?P.*)` \(`(?P.*)`\)') def is_constraint_definition(line): return 'ADD CONSTRAINT' in line import djyp.core.bin.bad_fk_utils as fk_utils def remove_bad_fk_objects(constraint_info): bad_fk_count_query =3D """ SELECT count(*) as bad_fk from %(table)s left join %(parent_table)s on %(table)s.%(column)s =3D %(parent_table)s.%(parent_colu= mn)s where %(table)s.%(column)s is not null and %(parent_table)s.%(parent_column)s is null; """ % dict(table=3Dconstraint_info.group('table'), column=3Dconstraint_info.group('foreign_key'), parent_table=3Dconstraint_info.group('ref_table'), parent_column=3Dconstraint_info.group('ref_field')) cursor =3D connection.cursor() try: print bad_fk_count_query.strip() cursor.execute(bad_fk_count_query) except DatabaseError, e: print 'Error: ', e return count =3D int(cursor.fetchall()[0][0]) print('--> {}'.format(count)) if count > 0: delete_query =3D """ delete %(table)s from %(table)s using %(table)s left join %(parent_table)s on %(table)s.%(column)s =3D %(parent_table)s.%(parent_colu= mn)s where %(table)s.%(column)s is not null and %(parent_table)s.%(parent_column)s is null;""" \ % dict(table=3Dconstraint_info.group('table'), column=3Dconstraint_info.group('foreign_key'), parent_table=3Dconstraint_info.group('ref_table'), parent_column=3Dconstraint_info.group('ref_field')) print delete_query try: print bad_fk_count_query cursor.execute(delete_query) transaction.commit_unless_managed() except DatabaseError, e: print 'Error: ', e return def add_fk_constraints(skip_remove_foreign_key_constraints): """ Going over all 'syncdb' output, filter lines which add constraints, and apply them where theya are not yet exist """ print("\n--- Starting to add FK constraints ---\n") table_info =3D read_mysql_table_metainfo() cursor =3D connection.cursor() def index_already_present(line): """ Compare textual representation of adding constaing using RedEx and return True if lookup index defined in `line` already exist """ parsed =3D re.search(add_constraint_syntax, line) table =3D parsed.group('table') if table in table_info: for key in table_info[table]['meta'].keys(): parsed2 =3D re.search(constraint_key_syntax, key) if not 'CONSTRAINT' in key: continue matched =3D 0 match_fields =3D ['keyname', 'foreign_key', 'ref_table', 'ref_field'] for field in match_fields: # check that all fields are equal if parsed.group(field) =3D=3D parsed2.group(field): matched +=3D 1 if matched =3D=3D len(match_fields): return True return False def add_constraint(sql_command): try: cursor.execute(sql_command) transaction.commit_unless_managed() except DatabaseError, e: print sql_command print 'Error: ', e return False return True added =3D 0 present =3D 0 for module in get_apps(): for line in sql_all(module, color.no_style() , connections['default']): if is_constraint_definition(line): print line constraint_info =3D re.search(add_constraint_syntax, line) if index_already_present(line): present +=3D 1 else: if add_constraint(line): print(" OK") added +=3D 1 else: print("Will try to fix FK first...") remove_bad_fk_objects(constraint_info) add_constraint(line) # attempt #2 print("\n*** Statistics: {} constraints added, "\ "skipped already present: {}\n".format( added, present)) cursor.close() def main(): parser =3D optparse.OptionParser() parser.add_option('--skip-innodb', dest=3D'skip_innodb', action=3D"store_true", default=3DFalse, help=3D'Skip transfer tables to InnoDB') parser.add_option('--skip-rmfk', dest=3D'skip_rmfk', action=3D"store_true", default=3DFalse, help=3D'Skip removal of bad foreign key references') parser.add_option('--skip-const', dest=3D'skip_const', action=3D"store_true", default=3DFalse, help=3D'Do not add foreign key references') options, arguments =3D parser.parse_args() if not options.skip_innodb: change_tables_to_innodb() if not options.skip_const: add_fk_constraints(options.skip_rmfk) return False if __name__ =3D=3D '__main__': main() --MP_/UMX8tLG/5rXszyLp2BV57Jz--