emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Infinite loop with org-log-done 'time?


From: Ethan
Subject: Re: [O] Infinite loop with org-log-done 'time?
Date: Wed, 23 Jul 2014 13:03:56 -0400

Sorry for the late reply. Thanks for the advice Nicolas. Today I tried to reproduce it with the same file and couldn't. However, I have hit the bug (whatever it is) without org-log-done 'time, so I guess that was a red herring. I'll keep an eye on it.

Ethan



On Fri, Jul 18, 2014 at 3:50 AM, Nicolas Goaziou <address@hidden> wrote:
Hello,

Ethan <address@hidden> writes:

> I'm running org-mode from git (version "8.3beta"), and recently I started
> to get hangs in org files.

First ensure you're using the latest Org revision. A lot of changes
happened between "release_8.3beta" tag and HEAD.

> The bug has been tricky to track down. I can reproduce it reliably in one
> particular file by switching DONE to TODO on one particular heading.
> Changing DONE to TODO on another nearby heading doesn't seem to cause the
> problem. For this reason, I don't have a minimal example.
>
> It doesn't happen in org-mode in stock emacs. It also doesn't happen, even
> with org-mode from git, if I disable my '(org-log-done 'time)
> customization. I managed to get a backtrace using gdb (attached). I can
> provide (off-list) the .org file that I used to induce the failure.

If you can reproduce the problem with an up-to-date Org, I'm interested
in the org file. You can also consider calling the function below first

  (defun ngz-scramble-contents ()
    "Copy current buffer, preserving structure but not contents.
  The copy is done in \"*Scrambled text*\" buffer.  The function
  assumes current major mode is `org-mode'."
    (interactive)
    (let ((tree (org-element-parse-buffer)))
      (org-element-map tree '(code comment comment-block example-block fixed-width
                                   keyword link node-property plain-text verbatim)
        (lambda (obj)
          (case (org-element-type obj)
            ((code comment comment-block example-block fixed-width keyword
                   node-property verbatim)
             (let ((value (org-element-property :value obj)))
               (org-element-put-property
                obj :value (replace-regexp-in-string "[[:alnum:]]" "x" value))))
            (link
             (unless (string= (org-element-property :type obj) "radio")
               (org-element-put-property obj :raw-link "http://orgmode.org")))
            (plain-text
             (org-element-set-element
              obj (replace-regexp-in-string "[[:alnum:]]" "x" obj)))))
        nil nil nil t)
      (let ((buffer (get-buffer-create "*Scrambled text*")))
        (with-current-buffer buffer
          (insert (org-element-interpret-data tree))
          (goto-char (point-min)))
        (switch-to-buffer buffer))))


Regards,

--
Nicolas Goaziou


reply via email to

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