From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#23223: 25.0.92; Can xref-find-references be sped up? Date: Wed, 13 Apr 2016 05:44:32 +0300 Message-ID: <837fg2fcrz.fsf@gnu.org> References: <83pou4m6h7.fsf@gnu.org> <902ac022-3a76-c363-0c77-12b1cdb8d521@yandex.ru> <8360vumzk4.fsf@gnu.org> <83mvp5lauu.fsf@gnu.org> <4424e043-31c7-0da4-213a-ee8ac31d9265@yandex.ru> <83vb3ri6q0.fsf@gnu.org> <83zit0f8ah.fsf@gnu.org> <90b81ad1-c3ab-272b-724b-ba63f0451d5a@yandex.ru> <83h9f6g71i.fsf@gnu.org> <1d635548-1fe3-ea72-4c98-6f787d7438b0@yandex.ru> <83d1pufxix.fsf@gnu.org> <06dcdbf7-4d1d-8e24-955f-40a9458096fd@yandex.ru> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1460515651 16302 80.91.229.3 (13 Apr 2016 02:47:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 13 Apr 2016 02:47:31 +0000 (UTC) Cc: 23223@debbugs.gnu.org To: Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Apr 13 04:47:20 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 1aqApq-0007cn-MQ for geb-bug-gnu-emacs@m.gmane.org; Wed, 13 Apr 2016 04:47:18 +0200 Original-Received: from localhost ([::1]:34324 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aqApq-0000s9-7R for geb-bug-gnu-emacs@m.gmane.org; Tue, 12 Apr 2016 22:47:18 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35177) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aqApf-0000e3-F0 for bug-gnu-emacs@gnu.org; Tue, 12 Apr 2016 22:47:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aqApa-0002WE-JQ for bug-gnu-emacs@gnu.org; Tue, 12 Apr 2016 22:47:07 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:49058) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aqApa-0002W9-Fx for bug-gnu-emacs@gnu.org; Tue, 12 Apr 2016 22:47:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1aqApa-0001F0-5i for bug-gnu-emacs@gnu.org; Tue, 12 Apr 2016 22:47:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 13 Apr 2016 02:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23223 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 23223-submit@debbugs.gnu.org id=B23223.14605156064748 (code B ref 23223); Wed, 13 Apr 2016 02:47:02 +0000 Original-Received: (at 23223) by debbugs.gnu.org; 13 Apr 2016 02:46:46 +0000 Original-Received: from localhost ([127.0.0.1]:33162 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aqApJ-0001EW-SS for submit@debbugs.gnu.org; Tue, 12 Apr 2016 22:46:46 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:44106) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aqApI-0001EJ-Up for 23223@debbugs.gnu.org; Tue, 12 Apr 2016 22:46:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aqApA-0002P9-N4 for 23223@debbugs.gnu.org; Tue, 12 Apr 2016 22:46:39 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39396) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aqApA-0002P1-Js; Tue, 12 Apr 2016 22:46:36 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3931 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aqAnc-0006Mz-72; Tue, 12 Apr 2016 22:46:36 -0400 In-reply-to: <06dcdbf7-4d1d-8e24-955f-40a9458096fd@yandex.ru> (message from Dmitry Gutov on Tue, 12 Apr 2016 23:26:13 +0300) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] 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" Xref: news.gmane.org gmane.emacs.bugs:116427 Archived-At: > Cc: 23223@debbugs.gnu.org > From: Dmitry Gutov > Date: Tue, 12 Apr 2016 23:26:13 +0300 > > Could you compare the lists of matches you get? E.g. C-x C-s on the xref > buffer in both cases, and then diff the results. Attached. --- x00 2016-04-13 05:42:17.702125000 +0300 +++ x01 2016-04-13 05:42:35.092750000 +0300 @@ -692,14 +692,162 @@ 2174: i = find_interval (buffer_intervals (current_buffer), pos); 2465: INTERVAL i = buffer_intervals (current_buffer); D:/gnu/git/emacs/branch/src/keyboard.c - 736: && current_buffer != XBUFFER (XWINDOW (selected_window)->contents)) -1410: prev_buffer = current_buffer; -1469: buffer_before_last_command_or_undo = current_buffer; -1516: if (!NILP (BVAR (current_buffer, mark_active)) -1538: && XMARKER (BVAR (current_buffer, mark))->buffer -1553: if (current_buffer != prev_buffer || MODIFF != prev_modiff) -1562: if (current_buffer == prev_buffer + 736: && current_buffer != XBUFFER (XWINDOW (selected_window)->contents)) + 1410: prev_buffer = current_buffer; + 1469: buffer_before_last_command_or_undo = current_buffer; + 1516: if (!NILP (BVAR (current_buffer, mark_active)) + 1538: && XMARKER (BVAR (current_buffer, mark))->buffer + 1553: if (current_buffer != prev_buffer || MODIFF != prev_modiff) + 1562: if (current_buffer == prev_buffer + 1563: && XBUFFER (XWINDOW (selected_window)->contents) == current_buffer + 1633: eassert (XBUFFER (XWINDOW (selected_window)->contents) == current_buffer); + 2833: struct buffer *prev_buffer = current_buffer; + 2844: if (current_buffer != prev_buffer) + 3905: XSETBUFFER (obj, current_buffer); + 7392: if (tem = get_local_map (PT, current_buffer, Qkeymap), !NILP (tem)) + 7399: maps[nmaps++] = get_local_map (PT, current_buffer, Qlocal_map); + 7945: if (tem = get_local_map (PT, current_buffer, Qkeymap), !NILP (tem)) + 7952: maps[nmaps++] = get_local_map (PT, current_buffer, Qlocal_map); + 8808: If FIX_CURRENT_BUFFER, we restore current_buffer + 8935: starting_buffer = current_buffer; + 9151: != current_buffer) + 9163: && current_buffer != starting_buffer) + 9201: != current_buffer)) + 9252: && XBUFFER (XWINDOW (window)->contents) != current_buffer) + 9642: < XCHAR_TABLE (BVAR (current_buffer, downcase_table))->header.size) +11759: * confused because it doesn't realize that the current_buffer was +D:/gnu/git/emacs/branch/src/keymap.c +1486: && XBUFFER (XWINDOW (window)->contents) != current_buffer) +1515: Lisp_Object local_map = get_local_map (pt, current_buffer, Qlocal_map); +1517: Lisp_Object keymap = get_local_map (pt, current_buffer, Qkeymap); +1536: current_buffer, Qlocal_map); +1539: current_buffer, Qkeymap); +1677: map = BVAR (current_buffer, keymap); +1777: bset_keymap (current_buffer, keymap); +1787: return BVAR (current_buffer, keymap); +D:/gnu/git/emacs/branch/src/lread.c +1470: filename = Fexpand_file_name (filename, BVAR (current_buffer, directory)); +D:/gnu/git/emacs/branch/src/marker.c +715: for (tail = BUF_MARKERS (current_buffer); tail; tail = tail->next) +750: BUF_INC_POS (current_buffer, below_byte); +D:/gnu/git/emacs/branch/src/minibuf.c +422: ambient_dir = BVAR (current_buffer, directory); +538: enable_multibyte = BVAR (current_buffer, enable_multibyte_characters); +548: bset_truncate_lines (current_buffer, Qnil); +552: bset_enable_multibyte_characters (current_buffer, enable_multibyte); +557: the current_buffer, so reset_buffer leaves buf's default +563: bset_directory (current_buffer, ambient_dir); +571: bset_directory (current_buffer, +619: if (!NILP (BVAR (current_buffer, enable_multibyte_characters)) +649: bset_keymap (current_buffer, map); +658: bset_undo_list (current_buffer, Qnil); +D:/gnu/git/emacs/branch/src/print.c + 91: struct buffer *old = current_buffer; \ + 97: = !NILP (BVAR (current_buffer, enable_multibyte_characters)); \ +102: if (XBUFFER (printcharfun) != current_buffer) \ +111: if (XMARKER (printcharfun)->buffer != current_buffer) \ +128: if (NILP (BVAR (current_buffer, enable_multibyte_characters)) \ +131: if (! NILP (BVAR (current_buffer, enable_multibyte_characters)) \ +158: && NILP (BVAR (current_buffer, enable_multibyte_characters)))\ +302: = !NILP (BVAR (current_buffer, enable_multibyte_characters)); +359: = !NILP (BVAR (current_buffer, enable_multibyte_characters)); +429: : ! NILP (BVAR (current_buffer, enable_multibyte_characters)))) +543: register struct buffer *old = current_buffer; +551: delete_all_overlays (current_buffer); +552: bset_directory (current_buffer, BVAR (old, directory)); +553: bset_read_only (current_buffer, Qnil); +554: bset_filename (current_buffer, Qnil); +555: bset_undo_list (current_buffer, Qt); +556: eassert (current_buffer->overlays_before == NULL); +557: eassert (current_buffer->overlays_after == NULL); +559: (current_buffer, BVAR (&buffer_defaults, enable_multibyte_characters)); +563: XSETBUFFER (buf, current_buffer); +672: struct buffer *previous = current_buffer; +856: struct buffer *old = current_buffer; +D:/gnu/git/emacs/branch/src/process.c +2194: else if (NILP (BVAR (current_buffer, enable_multibyte_characters))) +3721: else if (NILP (BVAR (current_buffer, enable_multibyte_characters))) +4604: struct buffer *old_buffer = current_buffer; +4612: && (old_buffer != current_buffer +4959: struct buffer *old_buffer = current_buffer; +4974: && (old_buffer != current_buffer +5377: XSETBUFFER (obuffer, current_buffer); +5378: okeymap = BVAR (current_buffer, keymap); +5462: || ! EQ (current_buffer->keymap, okeymap)) +5497: old_read_only = BVAR (current_buffer, read_only); +5503: bset_read_only (current_buffer, Qnil); +5520: if (NILP (BVAR (current_buffer, enable_multibyte_characters)) +5534: && (b = XBUFFER (p->buffer), b != current_buffer)) +5563: bset_read_only (current_buffer, old_read_only); +5723: struct buffer *cur = current_buffer; +6559: XSETBUFFER (obuffer, current_buffer); +6560: okeymap = BVAR (current_buffer, keymap); +6607: || ! EQ (current_buffer->keymap, okeymap)) +6720: struct buffer *old = current_buffer; +6730: if (NILP (BVAR (current_buffer, enable_multibyte_characters))) +6747: tem = BVAR (current_buffer, read_only); +6748: bset_read_only (current_buffer, Qnil); +6754: bset_read_only (current_buffer, tem); +D:/gnu/git/emacs/branch/src/search.c + 147: cp->syntax_table = cp->buf.used_syntax ? BVAR (current_buffer, syntax_table) : Qt; + 226: || EQ (cp->syntax_table, BVAR (current_buffer, syntax_table))) + 275: set_char_table_extras (BVAR (current_buffer, case_canon_table), 2, + 276: BVAR (current_buffer, case_eqv_table)); + 282: (!NILP (BVAR (current_buffer, case_fold_search)) + 283: ? BVAR (current_buffer, case_canon_table) : Qnil), + 285: !NILP (BVAR (current_buffer, enable_multibyte_characters))); + 333: XSETBUFFER (last_thing_searched, current_buffer); + 391: set_char_table_extras (BVAR (current_buffer, case_canon_table), 2, + 392: BVAR (current_buffer, case_eqv_table)); + 397: (!NILP (BVAR (current_buffer, case_fold_search)) + 398: ? BVAR (current_buffer, case_canon_table) : Qnil), + 559: multibyte = ! NILP (BVAR (current_buffer, enable_multibyte_characters)); + 670: newline_cache = newline_cache_on_off (current_buffer); + 671: if (current_buffer->base_buffer) + 672: cache_buffer = current_buffer->base_buffer; + 674: cache_buffer = current_buffer; +1055: set_char_table_extras (BVAR (current_buffer, case_canon_table), 2, +1056: BVAR (current_buffer, case_eqv_table)); +1059: (!NILP (BVAR (current_buffer, case_fold_search)) +1060: ? BVAR (current_buffer, case_canon_table) +1062: (!NILP (BVAR (current_buffer, case_fold_search)) +1063: ? BVAR (current_buffer, case_eqv_table) +1189: !NILP (BVAR (current_buffer, enable_multibyte_characters))); +1243: XSETBUFFER (last_thing_searched, current_buffer); +1287: XSETBUFFER (last_thing_searched, current_buffer); +1312: bool multibyte = !NILP (BVAR (current_buffer, enable_multibyte_characters)); +1528: bool multibyte = ! NILP (BVAR (current_buffer, enable_multibyte_characters)); +1748: bool multibyte = ! NILP (BVAR (current_buffer, enable_multibyte_characters)); +2159: XSETBUFFER (last_thing_searched, current_buffer); +2574: bool buf_multibyte = !NILP (BVAR (current_buffer, enable_multibyte_characters)); +3220: buf = current_buffer; +3225: old = current_buffer; +D:/gnu/git/emacs/branch/src/syntax.c + 423: gl_state.current_syntax_table = BVAR (current_buffer, syntax_table); + 563: if (NILP (BVAR (current_buffer, enable_multibyte_characters))) + 590: if (current_buffer == find_start_buffer + 640: find_start_buffer = current_buffer; + 981: return BVAR (current_buffer, syntax_table); +1026: bset_syntax_table (current_buffer, table); +1029: SET_PER_BUFFER_VALUE_P (current_buffer, idx, 1); +1233: syntax_table = BVAR (current_buffer, syntax_table); +1654: multibyte = (!NILP (BVAR (current_buffer, enable_multibyte_characters)) +2137: multibyte = (!NILP (BVAR (current_buffer, enable_multibyte_characters)) +2895: if (! NILP (BVAR (current_buffer, enable_multibyte_characters))) +D:/gnu/git/emacs/branch/src/term.c +3692: make_save_ptr_ptr (menu, current_buffer)); D:/gnu/git/emacs/branch/src/textprop.c + 83: struct buffer *buf = XBUFFER (buffer), *old = current_buffer; + 94: bset_point_before_scroll (current_buffer, Qnil); + 525: XSETBUFFER (object, current_buffer); + 566: XSETBUFFER (object, current_buffer); + 610: XSETBUFFER (object, current_buffer); + 622: struct buffer *obuf = current_buffer; + 793: if (BUFFERP (object) && current_buffer != XBUFFER (object)) + 877: if (BUFFERP (object) && current_buffer != XBUFFER (object)) + 948: XSETBUFFER (object, current_buffer); +1015: XSETBUFFER (object, current_buffer); +1062: XSETBUFFER (object, current_buffer); 1112: XSETBUFFER (object, current_buffer); 1160: XSETBUFFER (object, current_buffer); 1360: XSETBUFFER (object, current_buffer);