From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Mark A. Hershberger" Subject: Bug: check that org-element--cache-sync-keys is non-nil before clrhash [8.3.4 (8.3.4-42-gae73c7-elpa @ /home/mah/.emacs.d/elpa/org-20160425/)] Date: Mon, 02 May 2016 12:31:12 -0400 Message-ID: <87vb2wctgv.fsf@flynn.nichework.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42344) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1axGl9-0005A9-1a for emacs-orgmode@gnu.org; Mon, 02 May 2016 12:31:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1axGkx-000822-1e for emacs-orgmode@gnu.org; Mon, 02 May 2016 12:31:41 -0400 Received: from nospam.nichework.com ([206.71.169.33]:35020) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1axGkw-0007zG-Q7 for emacs-orgmode@gnu.org; Mon, 02 May 2016 12:31:34 -0400 Received: from localhost (localhost.localdmain [127.0.0.1]) by nospam.nichework.com (Postfix) with ESMTP id 4F2CD5E543 for ; Mon, 2 May 2016 12:31:25 -0400 (EDT) Received: from nospam.nichework.com ([127.0.0.1]) by localhost (nospam.nichework.com [127.0.0.1]) (amavisd-maia, port 10024) with ESMTP id 15604-07 for ; Mon, 2 May 2016 12:31:19 -0400 (EDT) Received: from mail.nichework.com (mail.nichework.com [206.71.169.32]) by nospam.nichework.com (Postfix) with ESMTP id C47F05E3DC for ; Mon, 2 May 2016 12:31:19 -0400 (EDT) Received: from mail.nichework.com (localhost [127.0.0.1]) by mail.nichework.com (Postfix) with ESMTP id C165220C081 for ; Mon, 2 May 2016 12:31:18 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by mail.nichework.com (Postfix) with ESMTP id B35A820C05F for ; Mon, 2 May 2016 12:31:18 -0400 (EDT) Received: from mail.nichework.com ([127.0.0.1]) by localhost (mail.nichework.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id y4rWyNsBKzab for ; Mon, 2 May 2016 12:31:18 -0400 (EDT) Received: from flynn.nichework.com.everybody.org (localhost [127.0.0.1]) by mail.nichework.com (Postfix) with ESMTPS id 19F5520C05E for ; Mon, 2 May 2016 12:31:16 -0400 (EDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org Emacs : GNU Emacs 24.4.1 (x86_64-pc-linux-gnu, GTK+ Version 3.14.5) of 2015-03-07 on trouble, modified by Debian Package: Org-mode version 8.3.4 (8.3.4-42-gae73c7-elpa @ /home/mah/.emacs.d/elpa/org-20160425/) I'm using org-mode by default for most buffers and, when using gnus-alias-use-identity, I get a backtrace because org-element--cache-sync-keys is set to nil. Patch to fix this: diff --git a/lisp/org-element.el b/lisp/org-element.el index d02b36c..760fce8 100644 --- a/lisp/org-element.el +++ b/lisp/org-element.el @@ -5121,7 +5121,8 @@ updated before current modification are actually submitted." ;; Otherwise, reset keys. (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) - (clrhash org-element--cache-sync-keys)))))) + (when org-element--cache-sync-keys + (clrhash org-element--cache-sync-keys))))))) (defun org-element--cache-process-request (request next threshold time-limit future-change) Edited backtrace: Debugger entered--Lisp error: (wrong-type-argument hash-table-p nil) clrhash(nil) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration)) future-change) (if next (progn (let* ((v next)) (aset v 3 (+ ... ...))) (aset next 2 (aref request 2)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))) (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration)) future-change) (if next (progn (let* (...) (aset v 3 ...)) (aset next 2 (aref request 2)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)))) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add ... org-element-cache-sync-duration)) future-change) (if next (progn (let* ... ...) (aset next 2 ...))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))) (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next ...) threshold (and ... ...) future-change) (if next (progn ... ...)) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)))))) org-element--cache-sync(#>) apply(org-element--cache-sync #>) byte-code("r\301\302H\303H\"\210)\301\207" [timer apply 5 6] 4) timer-event-handler([t 0 0 600000 nil org-element--cache-sync (#>) idle 0]) read-from-minibuffer("Identity: " nil ...) completing-read-default("Identity: " ...) completing-read("Identity: " ...) gnus-alias-identity-prompt() gnus-alias-use-identity() [SNIP]