From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Dunsmore Subject: Re: Crash of emacs when using SHIFT-TAB Date: Mon, 05 Jul 2010 12:40:18 -0500 Message-ID: <87y6dpg73x.fsf@riotblast.dunsmor.com> References: <20AAFFE1-F2E6-4EF4-B914-6BAF9D17AF3B@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from [140.186.70.92] (port=51860 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OVpeX-0000jz-OO for emacs-orgmode@gnu.org; Mon, 05 Jul 2010 13:40:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OVpeW-0006M0-Ld for emacs-orgmode@gnu.org; Mon, 05 Jul 2010 13:40:21 -0400 Received: from deathroller.dunsmor.com ([98.129.169.48]:44631) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OVpeW-0006Lj-FT for emacs-orgmode@gnu.org; Mon, 05 Jul 2010 13:40:20 -0400 Received: from riotblast.dunsmor.com (67-198-71-121.dyn.grandenetworks.net [67.198.71.121]) by deathroller.dunsmor.com (Postfix) with ESMTP id AFEA98C0DF for ; Mon, 5 Jul 2010 12:40:18 -0500 (CDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Carsten Dominik writes: >> Hi >> >> my emacs is crashing quite regularly when I am using org-babel. Is >> there a way to get a traceback or something similar which I could >> submit to get an idea what is causing it? > > I think this has probably nothing to do with org-babel. More likely, > you are using org-indent-mode, on an Emacs version where it does not > work. Check the Org manual for the exact version of Emacs you need. I was bitten by this same bug. I narrowed it down to org-indent, but I had no idea I should look in the manual to see which version of emacs org-indent was compatible with. Here's a patch that will make emacs display an error if org-indent is loaded with an incompatible version of emacs: --8<---------------cut here---------------start------------->8--- diff --git a/lisp/org-indent.el b/lisp/org-indent.el index 77411af..0ef8456 100644 --- a/lisp/org-indent.el +++ b/lisp/org-indent.el @@ -131,6 +131,18 @@ FIXME: How to update when broken?" (setq org-indent-mode nil) (if org-indent-mode (progn + (destructuring-bind (maj min bld) + (mapcar 'string-to-number (split-string emacs-version "[.]")) + (let ((msg "Emacs 23.1.50.3 or greater is recommended for org-indent + (when (< maj 23) + (display-warning 'org msg :warning)) + (when (= maj 23) + (unless (>= bld 50) + (display-warning 'org msg :warning))) + (when (and (= maj 23) + (= bld 50)) + (unless (>= min 1) + (display-warning 'org msg :warning))))) (org-set-local 'indent-tabs-mode nil) (or org-indent-strings (org-indent-initialize)) (when org-indent-mode-turns-off-org-adapt-indentation --8<---------------cut here---------------end--------------->8--- Perhaps this would be better as a separate function: --8<---------------cut here---------------start------------->8--- (defun org-version-check (version feature level) (destructuring-bind (rmaj rmin rbld) (mapcar 'string-to-number (split-string version "[.]")) (destructuring-bind (maj min bld) (mapcar 'string-to-number (split-string emacs-version "[.]")) (let ((msg (format "Emacs %s or greater is recommended for %s" version feature))) (when (< maj rmaj) (display-warning 'org msg level)) (when (= maj rmaj) (unless (>= min rmin) (display-warning 'org msg level))) (when (and (= maj rmaj) (= min rmin)) (unless (>= bld rbld) (display-warning 'org msg level))))))) --8<---------------cut here---------------end--------------->8--- It could then be called with: (org-version-check "23.1.50" "org-indent" :warning) I made it display a warning because org-indent seems to work almost perfectly with the version of emacs I'm running (23.1.1). Regards, Jason