emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Performance issues after upgrading from Emacs 23.3 to 24.3


From: Nicolas Goaziou
Subject: Re: [O] Performance issues after upgrading from Emacs 23.3 to 24.3
Date: Thu, 09 Jan 2014 22:10:37 +0100

Karl Voit <address@hidden> writes:

> M-<up>/<down> of list item is fast again.
>
> Re-calculate table is fast again.
>
> Wohoo! :-) Thanks!

Applied. Thank you for the report.

> However, M-<up>/<down> of a big heading is still slow (see profile
> below). Probably, I am able to find other examples of slow behavior
> on the weekend, where I am using the Linux-machine that has the
> issue.

This operation is bound to be slow anyway. On top of it, you use
`org-indent-mode', which can be costly on large buffer changes.

Is it really worse than in 23.3?

Also, would you mind testing the following patch on top of master?
I don't expect much out of it since you're moving a behemoth, but it may
help.


Regards,

-- 
Nicolas Goaziou
>From 6681efd30c34e86ede597b5b9ec219c9358fc7eb Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <address@hidden>
Date: Thu, 9 Jan 2014 21:59:59 +0100
Subject: [PATCH] Try something out

---
 lisp/org-list.el | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lisp/org-list.el b/lisp/org-list.el
index c0cf77e..f85c19b 100644
--- a/lisp/org-list.el
+++ b/lisp/org-list.el
@@ -134,6 +134,8 @@
 (declare-function org-export-string-as "ox"
                  (string backend &optional body-only ext-plist))
 
+(declare-function org-element-type "org-element" (element))
+
 
 
 
@@ -489,10 +491,13 @@ group 4: description tag")
               (t (forward-line -1)))))))))))
 
 (defun org-at-item-p ()
-  "Is point in a line starting a hand-formatted item?"
+  "Non-nil when point is in a line starting a list item."
   (save-excursion
     (beginning-of-line)
-    (and (looking-at (org-item-re)) (org-list-in-valid-context-p))))
+    (and (looking-at (org-item-re))
+        (or (not (derived-mode-p 'org-mode))
+            (memq (org-element-type (save-match-data (org-element-at-point)))
+                  '(item plain-list))))))
 
 (defun org-at-item-bullet-p ()
   "Is point at the bullet of a plain list item?"
-- 
1.8.5.2


reply via email to

[Prev in Thread] Current Thread [Next in Thread]