From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Keith David Bershatsky Newsgroups: gmane.emacs.bugs Subject: bug#22873: Can we support multiple Cursors? Date: Mon, 14 Mar 2016 11:35:18 -0700 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-Trace: ger.gmane.org 1457980584 558 80.91.229.3 (14 Mar 2016 18:36:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 14 Mar 2016 18:36:24 +0000 (UTC) Cc: John Wiegley , Marcin Borkowski , 22873@debbugs.gnu.org, Richard Stallman To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Mar 14 19:36:13 2016 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 1afXLe-000383-16 for geb-bug-gnu-emacs@m.gmane.org; Mon, 14 Mar 2016 19:36:10 +0100 Original-Received: from localhost ([::1]:43361 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1afXLd-0004aa-EK for geb-bug-gnu-emacs@m.gmane.org; Mon, 14 Mar 2016 14:36:09 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46141) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1afXLZ-0004aU-Mz for bug-gnu-emacs@gnu.org; Mon, 14 Mar 2016 14:36:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1afXLW-0000cq-DJ for bug-gnu-emacs@gnu.org; Mon, 14 Mar 2016 14:36:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:51051) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1afXLW-0000cm-9G for bug-gnu-emacs@gnu.org; Mon, 14 Mar 2016 14:36:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1afXLW-0000Oy-5i for bug-gnu-emacs@gnu.org; Mon, 14 Mar 2016 14:36:02 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Keith David Bershatsky Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 14 Mar 2016 18:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22873 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 22873-submit@debbugs.gnu.org id=B22873.14579805281393 (code B ref 22873); Mon, 14 Mar 2016 18:36:02 +0000 Original-Received: (at 22873) by debbugs.gnu.org; 14 Mar 2016 18:35:28 +0000 Original-Received: from localhost ([127.0.0.1]:48178 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1afXKy-0000MP-Cg for submit@debbugs.gnu.org; Mon, 14 Mar 2016 14:35:28 -0400 Original-Received: from cobb.liquidweb.com ([50.28.13.150]:47707) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1afXKw-0000MC-RR for 22873@debbugs.gnu.org; Mon, 14 Mar 2016 14:35:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=nBclj9sRymf6ku58AOpICMIF880jqImgTuXic+p/P80=; b=cI2LYvwWSzyNgzplGGwVAZ+vSwnlqk0O8zVsPd5uL4ndIM4+7s/ZTefZhPOvi4BRp+tfAkU0OazkrZj0nMXXHk5dJ3HcGyBm/Xf/6t8WyBkhOjY5D9qz/tBA6On4y1Ff; Original-Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:50993 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1afXKn-0005RJ-D0; Mon, 14 Mar 2016 14:35:17 -0400 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.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:114902 Archived-At: Help, please: :) I reached a roadblock on Emacs for Windows and I haven't the slightest idea why my cached list of multiple cursors is being converted into a value `` sporadically when holding down the arrow key and moving the active cursor repetitively through plain text in a fundamental-mode buffer. Emacs crashes in that circumstance. The cache is a Lisp_Object pointer defined in `window.h` named mc_cache (aka `w->mc_cache`). The value of `w->mc_cache` is: '(( (3 hbar [1.0 0.0 0.0]) (4 bar [0.0 1.0 0.0]) (5 box [0.0 0.0 1.0]) (6 hollow [0.8 0.4 0.2]) (7 (hbar 3) [1.0 0.0 1.0]) (8 (bar 3) [0.0 1.0 1.0])) ( ((3 hbar [1.0 0.0 0.0]) (22 20 2 0)) ((4 bar [0.0 1.0 0.0]) (33 20 3 0)) ((5 box [0.0 0.0 1.0]) (44 20 4 0)) ((6 hollow [0.8 0.4 0.2]) (55 20 5 0)) ((7 (hbar 3) [1.0 0.0 1.0]) (66 20 6 0)) ((8 (bar 3) [0.0 1.0 1.0]) (77 20 7 0)) )) The "for" loop looks like this and Emacs crashes when reading the line containing "cursor_spec_list = XCAR (XCAR (vlist))". `cursor_spec_list` and `vlist` are both Lisp_Object: for (vlist = XCAR (XCDR (w->mc_cache)); CONSP (vlist); vlist = XCDR (vlist)) { cursor_spec_list = XCAR (XCAR (vlist)); *** Here is the gdb backtrace: Administrator@lawlistf0aa /c/docume~1/administrator/desktop/emacs $ gdb /c/docume~1/administrator/desktop/trunk/bin/emacs.exe GNU gdb (GDB) 7.6.1 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "mingw32". For bug reporting instructions, please see: ... Reading symbols from c:\docume~1\administrator\desktop\trunk\bin\emacs.exe...don e. (gdb) run Starting program: c:/docume~1/administrator/desktop/trunk/bin/emacs.exe [New Thread 1784.0x360] [New Thread 1784.0x310] [New Thread 1784.0x75c] [New Thread 1784.0x1e8] [New Thread 1784.0x3ec] Program received signal SIGSEGV, Segmentation fault. mc_calc (w=w@entry=0x55d24b8) at xdisp.c:29025 29025 cursor_spec_list = XCAR (XCAR (vlist)); (gdb) print vlist $1 = -1006130013 (gdb) print cursor_spec_list $2 = (gdb) backtrace #0 mc_calc (w=w@entry=0x55d24b8) at xdisp.c:29025 #1 0x010448db in display_and_set_cursor (w=w@entry=0x55d24b8, on=on@entry=true, hpos=57, vpos=17, x=627, y=345) at xdisp.c:29286 #2 0x011665e0 in x_update_window_end (w=0x55d24b8, cursor_on_p=true, mouse_face_overwritten_p=false) at w32term.c:686 #3 0x01005c13 in update_window (w=w@entry=0x55d24b8, force_p=, force_p@entry=true) at dispnew.c:3539 #4 0x01006e72 in update_window_tree (w=w@entry=0x55d24b8, force_p=force_p@entry=true) at dispnew.c:3217 #5 0x01009450 in update_frame (f=f@entry=0x55d2350, force_p=, force_p@entry=false, inhibit_hairy_id_p=inhibit_hairy_id_p@entry=false) at dispnew.c:3106 #6 0x0103ab20 in redisplay_internal () at xdisp.c:14142 #7 0x0103b9d8 in redisplay () at xdisp.c:13171 #8 0x010a3aed in read_char (commandflag=commandflag@entry=1, map=map@entry=136502483, prev_event=0, used_mouse_menu=used_mouse_menu@entry=0x82f8db, end_time=end_time@entry=0x0) at keyboard.c:2483 #9 0x010a6006 in read_key_sequence (keybuf=keybuf@entry=0x82f978, prompt=prompt@entry=0, dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false, bufsize=30) at keyboard.c:9066 #10 0x010a786f in command_loop_1 () at keyboard.c:1369 #11 0x010ff9e7 in internal_condition_case ( bfun=bfun@entry=0x10a7697 , handlers=handlers@entry=12256, hfun=hfun@entry=0x109f644 ) at eval.c:1309 #12 0x0109b233 in command_loop_2 (ignore=0) at keyboard.c:1100 #13 0x010ff9ab in internal_catch (tag=tag@entry=32480, func=func@entry=0x109b214 , arg=arg@entry=0) at eval.c:1074 #14 0x0109b1f5 in command_loop () at keyboard.c:1079 #15 0x0109f2fc in recursive_edit_1 () at keyboard.c:685 #16 0x0109f58c in Frecursive_edit () at keyboard.c:756 #17 0x011b76fa in main (argc=, argv=0xa428b0) at emacs.c:1617 (gdb) Thanks, Keith