From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#25122: 24.5; function describe-variable hangs on large variables Date: Sun, 12 Mar 2017 07:59:03 -0700 (PDT) Message-ID: <4287f60a-fa04-4fcd-8b61-a319cd5b2abe@default> References: <20161206022112.GF25778@E15-2016.optimum.net> <87twahk19y.fsf@gmail.com> <87d1h4fld5.fsf@users.sourceforge.net> <871sxkyv2m.fsf@gmail.com> <87mvcs8j7w.fsf@users.sourceforge.net> <87lgsbtxwe.fsf@gmail.com> <871su38ogm.fsf@users.sourceforge.net> <87d1dnrq96.fsf@gmail.com> <87wpbu7f9i.fsf@users.sourceforge.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1489330822 29607 195.159.176.226 (12 Mar 2017 15:00:22 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 12 Mar 2017 15:00:22 +0000 (UTC) Cc: 25122@debbugs.gnu.org, Stefan Monnier , Boruch Baum To: npostavs@users.sourceforge.net, Thierry Volpiatto Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Mar 12 16:00:17 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cn4yf-0006YI-KF for geb-bug-gnu-emacs@m.gmane.org; Sun, 12 Mar 2017 16:00:09 +0100 Original-Received: from localhost ([::1]:47282 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cn4yl-0003s7-9l for geb-bug-gnu-emacs@m.gmane.org; Sun, 12 Mar 2017 11:00:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46619) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cn4yf-0003qn-BI for bug-gnu-emacs@gnu.org; Sun, 12 Mar 2017 11:00:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cn4yZ-00008g-TF for bug-gnu-emacs@gnu.org; Sun, 12 Mar 2017 11:00:09 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:54557) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cn4yZ-00008S-Pq for bug-gnu-emacs@gnu.org; Sun, 12 Mar 2017 11:00:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cn4yZ-0005XQ-6b for bug-gnu-emacs@gnu.org; Sun, 12 Mar 2017 11:00:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 12 Mar 2017 15:00:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 25122 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 25122-submit@debbugs.gnu.org id=B25122.148933075621205 (code B ref 25122); Sun, 12 Mar 2017 15:00:03 +0000 Original-Received: (at 25122) by debbugs.gnu.org; 12 Mar 2017 14:59:16 +0000 Original-Received: from localhost ([127.0.0.1]:52756 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cn4xn-0005Vx-Vt for submit@debbugs.gnu.org; Sun, 12 Mar 2017 10:59:16 -0400 Original-Received: from userp1040.oracle.com ([156.151.31.81]:47941) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cn4xm-0005Vk-Ns for 25122@debbugs.gnu.org; Sun, 12 Mar 2017 10:59:15 -0400 Original-Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v2CEx66Y027479 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 12 Mar 2017 14:59:07 GMT Original-Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v2CEx6pE009790 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 12 Mar 2017 14:59:06 GMT Original-Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id v2CEx3Dq018419; Sun, 12 Mar 2017 14:59:04 GMT In-Reply-To: <87wpbu7f9i.fsf@users.sourceforge.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 12.0.6753.5000 (x86)] X-Source-IP: userv0022.oracle.com [156.151.31.74] 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:130516 Archived-At: > >> Then hitting RET on "..." would just print another X lines. > > > > I think like Drew that this would be annoying. >=20 > I wonder if we could just hook this into scrolling somehow? So the > lines would only be printed when you scroll to look at them. I still would not like that behavior, so would would want to opt out, personally. If it take a minute to display *Help* I can at least do something different (outside Emacs) during that time. When I'm scrolling I'm likely examining the value as it scrolls, and I don't want to wait (scrolling in chunks separated by delays). E.g., I do `C-h v bookmark-alist' or `load-history' with a large list. I know that it will not display immediately, so I don't grumble about that fact. I'm free not to sit and stare at the screen waiting for it to return. What you describe just chops up the wait into scrolled chunks. > > That said, what's the reason of choosing the slower approach to compute > > value (in a thread or not) instead of using the approach described in > > the advice I sent here which takes 1s to compute load-history instead o= f > > 3mn ? (I use this advice since one year now without any problems). >=20 > As mentioned in https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D21717#8, > it breaks circularity. Try describing this variable: >=20 > (defvar circular-list > (let ((l (number-sequence 1 100))) (setcdr (last l) l) l) "") >=20 > We could probably achieve something similar without breaking circular > printing by not calling indent-sexp on the full list, but 1s is longer > than "instant" anyway (which is about 50ms or less) which is why I'm > exploring other options. 1 sec is not a problem, IMO. 0.7 sec is a typical Emacs `sit-for' value, i.e., something that, yes, allows time to notice the change/wait, but it is not so long that it becomes annoying. (It would be annoying if it happened for all or most *Help* displays, but printing large values is the exception.)