From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juanma Barranquero Newsgroups: gmane.emacs.bugs Subject: bug#10578: 24.0.92; No png images on OpenSUSE 12.1 Date: Thu, 26 Jan 2012 05:26:43 +0100 Message-ID: References: <87y5sz1ztp.fsf@linux-hvfx.site> <83k44j3djg.fsf@gnu.org> <83ipk339sj.fsf@gnu.org> <83hazn38tp.fsf@gnu.org> <83fwf731y8.fsf@gnu.org> <87y5svinp8.fsf@gnus.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1327552126 27065 80.91.229.12 (26 Jan 2012 04:28:46 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 26 Jan 2012 04:28:46 +0000 (UTC) Cc: 10578@debbugs.gnu.org To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Jan 26 05:28:40 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RqGwx-0008To-T9 for geb-bug-gnu-emacs@m.gmane.org; Thu, 26 Jan 2012 05:28:40 +0100 Original-Received: from localhost ([::1]:45169 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RqGww-0005we-Vr for geb-bug-gnu-emacs@m.gmane.org; Wed, 25 Jan 2012 23:28:38 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:35061) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RqGwu-0005wZ-OF for bug-gnu-emacs@gnu.org; Wed, 25 Jan 2012 23:28:37 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RqGwr-0003ix-EQ for bug-gnu-emacs@gnu.org; Wed, 25 Jan 2012 23:28:36 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:39442) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RqGwr-0003ip-Cl for bug-gnu-emacs@gnu.org; Wed, 25 Jan 2012 23:28:33 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1RqGxK-000402-JO for bug-gnu-emacs@gnu.org; Wed, 25 Jan 2012 23:29:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Juanma Barranquero Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 26 Jan 2012 04:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10578 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 10578-submit@debbugs.gnu.org id=B10578.132755208515300 (code B ref 10578); Thu, 26 Jan 2012 04:29:02 +0000 Original-Received: (at 10578) by debbugs.gnu.org; 26 Jan 2012 04:28:05 +0000 Original-Received: from localhost ([127.0.0.1]:44829 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RqGwO-0003yj-H4 for submit@debbugs.gnu.org; Wed, 25 Jan 2012 23:28:04 -0500 Original-Received: from mail-pw0-f44.google.com ([209.85.160.44]:46771) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RqGwI-0003yC-Qo for 10578@debbugs.gnu.org; Wed, 25 Jan 2012 23:28:03 -0500 Original-Received: by pbbb11 with SMTP id b11so369282pbb.3 for <10578@debbugs.gnu.org>; Wed, 25 Jan 2012 20:27:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; bh=XCxY9xHOpjXPAo8Qvc0WLDJu7JDlubso2cWbMnjYt30=; b=EeWqkC04XAhWUTppUI3Dk99KZkbJUhsziXwlCBW4jb5KodS0UiaPu0P5ivJWoxyVVp GGWCYx7K127RfdLs5ZCTn50lXpBAdsidmhoXeXOmf7ZA7gQ30k2XrnH/uwJFDwDCqzfW HTnSkYvlqlnn+N2NN5bGrxKQ1oy13Wxo0jX4g= Original-Received: by 10.68.75.199 with SMTP id e7mr1543583pbw.128.1327552043204; Wed, 25 Jan 2012 20:27:23 -0800 (PST) Original-Received: by 10.143.37.9 with HTTP; Wed, 25 Jan 2012 20:26:43 -0800 (PST) In-Reply-To: <87y5svinp8.fsf@gnus.org> 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:56026 Archived-At: On Wed, Jan 25, 2012 at 20:31, Lars Ingebrigtsen wrote: > Perhaps it would be an idea to add a simple rate-limiting device? =C2=A0T= hat > is, don't output the "Look in the *Messages* buffer" more often than, > say, once per second. =C2=A0Or minute. =C2=A0Perhaps per ten seconds make= s more > sense, so that the message isn't as easily lost, but makes it possible > to continue using Emacs. In the attached patch, the warning is shown after 5 seconds of idle time. Also, all warnings of type `display' are assumed to be equivalent and only the most recent one is displayed; the rest are discarded. =C2=A0 =C2=A0 Juanma =3D=3D=3D modified file 'lisp/subr.el' --- lisp/subr.el 2012-01-23 02:10:36 +0000 +++ lisp/subr.el 2012-01-26 04:23:06 +0000 @@ -1879,7 +1879,31 @@ (push warning collapsed))) (setq delayed-warnings-list (nreverse collapsed)))) +(defconst display-errors-idle-time 5.0 + "Interval of idle time before warning about display errors.") + +(defvar display-errors-pending nil + "Internal use only.") + +(defun show-display-errors-when-idle () + "Warn about display errors when Emacs is idle. +Only the most recent error (possibly collapsed) is shown, +after `display-errors-idle-time' seconds of idle time; +the rest are assumed to be identical and discarded. +Used from `delayed-warnings-hook' (which see)." + (let ((display-error (assq 'display delayed-warnings-list))) + (when display-error + (setq delayed-warnings-list (assq-delete-all 'display + delayed-warnings-list)) + (unless display-errors-pending + (setq display-errors-pending display-error) + (run-with-idle-timer display-errors-idle-time nil + (lambda () + (apply 'display-warning display-errors-pend= ing) + (setq display-errors-pending nil))))))) + (defvar delayed-warnings-hook '(collapse-delayed-warnings + show-display-errors-when-idle display-delayed-warnings) "Normal hook run to process delayed warnings. Functions in this hook should access the `delayed-warnings-list' =3D=3D=3D modified file 'src/image.c' --- src/image.c 2012-01-19 07:21:25 +0000 +++ src/image.c 2012-01-26 04:02:24 +0000 @@ -677,6 +677,7 @@ image_error (const char *format, Lisp_Object arg1, Lisp_Object arg2) { add_to_log (format, arg1, arg2); + warn_about_display_error (); } =3D=3D=3D modified file 'src/lisp.h' --- src/lisp.h 2012-01-19 07:21:25 +0000 +++ src/lisp.h 2012-01-26 04:02:15 +0000 @@ -2746,6 +2746,7 @@ extern void redisplay (void); extern void redisplay_preserve_echo_area (int); extern void prepare_menu_bars (void); +extern void warn_about_display_error (void); void set_frame_cursor_types (struct frame *, Lisp_Object); extern void syms_of_xdisp (void); =3D=3D=3D modified file 'src/xdisp.c' --- src/xdisp.c 2012-01-19 07:21:25 +0000 +++ src/xdisp.c 2012-01-26 04:03:05 +0000 @@ -2326,6 +2326,7 @@ safe_eval_handler (Lisp_Object arg) { add_to_log ("Error during redisplay: %S", arg, Qnil); + warn_about_display_error (); return Qnil; } @@ -10612,6 +10613,18 @@ return window_height_changed_p; } +void +warn_about_display_error (void) +{ + Lisp_Object warning[3]; + + warning[0] =3D intern ("display"); + warning[1] =3D build_string ("Please check *Messages*"); + warning[2] =3D intern (":error"); + Vdelayed_warnings_list =3D Fcons (Flist (3, warning), + Vdelayed_warnings_list); +} + =0C /***********************************************************************