From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jiege Chen Newsgroups: gmane.emacs.bugs Subject: bug#23777: 25.0.95; Throwing (error "Selecting deleted buffer") in timer Date: Tue, 28 Jun 2016 13:37:38 +0000 (UTC) Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1467121177 10594 80.91.229.3 (28 Jun 2016 13:39:37 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 28 Jun 2016 13:39:37 +0000 (UTC) To: 23777@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jun 28 15:39:25 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 1bHtEU-0005YM-Du for geb-bug-gnu-emacs@m.gmane.org; Tue, 28 Jun 2016 15:39:18 +0200 Original-Received: from localhost ([::1]:36798 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bHtET-0002ru-GC for geb-bug-gnu-emacs@m.gmane.org; Tue, 28 Jun 2016 09:39:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43262) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bHtEJ-0002pS-5O for bug-gnu-emacs@gnu.org; Tue, 28 Jun 2016 09:39:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bHtEE-00032s-6Y for bug-gnu-emacs@gnu.org; Tue, 28 Jun 2016 09:39:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:46544) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bHtEE-00032n-3B for bug-gnu-emacs@gnu.org; Tue, 28 Jun 2016 09:39:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bHtED-0006Hk-RF for bug-gnu-emacs@gnu.org; Tue, 28 Jun 2016 09:39:01 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Jiege Chen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 28 Jun 2016 13:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23777 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.146712108224094 (code B ref -1); Tue, 28 Jun 2016 13:39:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 28 Jun 2016 13:38:02 +0000 Original-Received: from localhost ([127.0.0.1]:58881 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bHtDG-0006GY-Ib for submit@debbugs.gnu.org; Tue, 28 Jun 2016 09:38:02 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:51794) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bHtDD-0006G3-Nc for submit@debbugs.gnu.org; Tue, 28 Jun 2016 09:38:01 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bHtD7-0002mO-9d for submit@debbugs.gnu.org; Tue, 28 Jun 2016 09:37:54 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:60003) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bHtD7-0002lp-71 for submit@debbugs.gnu.org; Tue, 28 Jun 2016 09:37:53 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42714) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bHtD4-0001rO-Un for bug-gnu-emacs@gnu.org; Tue, 28 Jun 2016 09:37:51 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bHtCz-0002jm-UG for bug-gnu-emacs@gnu.org; Tue, 28 Jun 2016 09:37:49 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:37382) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bHtCz-0002jX-Nj for bug-gnu-emacs@gnu.org; Tue, 28 Jun 2016 09:37:45 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1bHtCy-0004VA-Ic for bug-gnu-emacs@gnu.org; Tue, 28 Jun 2016 15:37:44 +0200 Original-Received: from 14.153.27.159 ([14.153.27.159]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 28 Jun 2016 15:37:44 +0200 Original-Received: from jiegec by 14.153.27.159 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 28 Jun 2016 15:37:44 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 53 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 14.153.27.159 User-Agent: NewsTap/5.1.8 (iPad) Cancel-Lock: sha1:BSlai7JlZSLZ1bWFxZPKsQ59r/E= 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.x 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:120177 Archived-At: Noam Postavsky wrote: > On Mon, Jun 27, 2016 at 10:08 AM, Jiajie Chen wrote: >> >> I have found the bug -- it comes from nlinum.el: > [...] >> >> It seems that when the timer is ran, the (current-buffer) no longer >> exists. That buffer may be a temp buffer. >> >> And my init code includes: >> >> (add-hook 'nlinum-mode-hook >> (lambda () >> (when nlinum-mode >> (setq nlinum--width >> (1+ (length (number-to-string >> (count-lines (point-min) (point-max)))))) >> (nlinum--flush)))) >> >> A fix would be: >> >> (defun nlinum--flush () >> (nlinum--setup-windows) >> ;; (kill-local-variable 'nlinum--ol-counter) >> (remove-overlays (point-min) (point-max) 'nlinum t) >> (run-with-timer 0 nil >> (lambda (buf) >> (when (buffer-live-p buf) >> (with-current-buffer buf >> (with-silent-modifications >> ;; FIXME: only remove `fontified' on those parts of the >> ;; buffer that had an nlinum overlay! >> (remove-text-properties >> (point-min) (point-max) '(fontified))))) >> (current-buffer))) > > Perhaps it makes more sense to put that buffer-live-p check in your > nlinum-mode-hook lambda? Actually I wonder why you need to call > nlinum--flush at all? Though I admit I don't really understand the > nlinum code either, e.g. what is the use of (run-with-timer 0 ...), > why not run the thing immediately? > > > > > I removed that call in my init code, and the error is gone, at the price of some display inconsistency which is acceptable. There is room for improvement in nlinum--flush. -- Jiegec