emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] still seeing semi-regular lockups


From: Alan Schmitt
Subject: Re: [O] still seeing semi-regular lockups
Date: Fri, 27 Jun 2014 15:37:55 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (darwin)

I've also just been bitten by this bug, as I was doing my weekly
review. I'll try to see if I can write an ECM, but for the record this
is what I was doing: I was in an agenda view sorted by the value of
a LAST_REVIEW property, and I was repeatedly calling this function on
the entries of the view:

#+begin_src emacs-lisp
(defun org-review-insert-last-review (&optional prompt)
  "Insert the current date as last review. If prefix argument:
prompt the user for the date. If `org-review-sets-next-date' is
set to `t', also insert a next review date."
  (interactive "P")
  (let ((ts (if prompt
                (concat "<" (org-read-date) ">")
              (format-time-string (car org-time-stamp-formats)))))
    (org-review-insert-date org-review-last-property-name
                            org-review-last-timestamp-format
                            ts)
    (when org-review-sets-next-date
      (org-review-insert-date
       org-review-next-property-name
       org-review-next-timestamp-format
       (format-time-string (car org-time-stamp-formats)
                           (org-review-last-planned 
                            ts
                            (or (org-review-review-delay-prop
                                 (if (equal (buffer-name) 
org-agenda-buffer-name)
                                     (or (org-get-at-bol 'org-marker)
                                         (org-agenda-error))
                                   (point)))
                                org-review-delay)))))))
#+end_src

the `org-review-insert-date` is defined as follows

#+begin_src emacs-lisp
(defun org-review-insert-date (propname fmt date)
  "Insert the DATE under property PROPNAME, in the format
specified by FMT."
  (org-entry-put
   (if (equal (buffer-name) org-agenda-buffer-name)
       (or (org-get-at-bol 'org-marker)
           (org-agenda-error))
     (point))
   propname
   (cond
    ((eq fmt 'inactive)
     (concat "[" (substring date 1 -1) "]"))
    ((eq fmt 'active) date)
    (t (substring date 1 -1)))))
#+end_src

I could get out of the loop using "ctrl-G" but any further interaction
with the todo buffer (expanding the task to see its properties, or
changing the todo state) would result in further lockup. Restarting
emacs let me do a few more entries (about a dozen) before it locked up
again.

Alan

-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7

Attachment: pgp1K7o6uUiD1.pgp
Description: PGP signature


reply via email to

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