From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thorsten Jolitz Subject: [BUG] in org-element (was Re: Replacing property-name hangs Emacs) Date: Sat, 19 Jul 2014 13:28:38 +0200 Message-ID: <87wqb9zixl.fsf_-_@gmail.com> References: <87zjg6708i.fsf@gmail.com> <87a98522lf.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55105) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X8Sp2-0003qN-49 for emacs-orgmode@gnu.org; Sat, 19 Jul 2014 07:29:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X8Sov-0003Yg-VP for emacs-orgmode@gnu.org; Sat, 19 Jul 2014 07:29:00 -0400 Received: from plane.gmane.org ([80.91.229.3]:51266) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X8Sov-0003Yb-DR for emacs-orgmode@gnu.org; Sat, 19 Jul 2014 07:28:53 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1X8Sou-0004FR-KK for emacs-orgmode@gnu.org; Sat, 19 Jul 2014 13:28:52 +0200 Received: from e178189084.adsl.alicedsl.de ([85.178.189.84]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 19 Jul 2014 13:28:52 +0200 Received: from tjolitz by e178189084.adsl.alicedsl.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 19 Jul 2014 13:28:52 +0200 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-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Thorsten Jolitz writes: This turned out to be an Org-mode bug. >> Org-mode version 8.3beta (release_8.3beta-44-g05be57 @ >> /usr/share/emacs/24.3/lisp/org/lisp/) >> >> GNU Emacs 24.3.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.12.2) of >> 2014-06-11 on var-lib-archbuild-staging-x86_64-jgc Here is the recipe: 1. emacs -Q 2. M-x find-file instruments.org (content posted below) 3. M-% resource_id RET name RET 4. hit space quickly (-> accept) until Emacs hangs (100pc CPU) PS content of instruments.org: #+begin_src org * Instruments ** rhythm-section *** harmony **** guitar :PROPERTIES: :resource_id: guitar :abbrev: g :END: **** piano :PROPERTIES: :resource_id: piano :abbrev: p :END: *** rhythm **** bass :PROPERTIES: :resource_id: bass :abbrev: b :END: **** drums :PROPERTIES: :resource_id: drums :abbrev: dr :END: ** horns :PROPERTIES: :resource_id: horns :abbrev: hrs :END: *** brass **** trumpet :PROPERTIES: :resource_id: trumpet :abbrev: tr :pitch: +2 :END: **** trombone :PROPERTIES: :resource_id: trombone :abbrev: tmb :END: *** woodwinds **** sopran-sax :PROPERTIES: :resource_id: sopran-sax :abbrev: ss :END: **** alt-sax :PROPERTIES: :resource_id: alt-sax :abbrev: as :pitch: -3 :END: **** tenor-sax :PROPERTIES: :resource_id: tenor-sax :abbrev: ts :pitch: +2 :END: **** bariton-sax :PROPERTIES: :resource_id: bariton-sax :abbrev: bs :END: **** flute :PROPERTIES: :resource_id: flute :abbrev: fl :END: *** voices **** sopran-voice :PROPERTIES: :resource_id: sopran-voice :abbrev: svoc :END: **** alt-voice :PROPERTIES: :resource_id: alt-voice :abbrev: avoc :END: **** tenor_voice :PROPERTIES: :resource_id: tenor-voice :abbrev: tvoc :END: **** bariton-voice :PROPERTIES: :resource_id: bariton-voice :abbrev: bvoc :END: *** strings **** violin :PROPERTIES: :resource_id: violin :abbrev: v :END: **** Cello :PROPERTIES: :resource_id: cello :abbrev: c :END: #+end_src Backtrace: Debugger entered--Lisp error: (quit) (progn (goto-char end) (skip-chars-backward " . \n") (forward-line) (point)) (and contents-begin (progn (goto-char end) (skip-chars-backward " . \n") (forward-line) (point))) (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " . \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " . \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))) (save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " . \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " . \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))) org-element-headline-parser(116 t) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated)))))) (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated))))))) (save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated)))))))) org-element--current-element(116 element nil nil) (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil)) (let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil))) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " . \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil)))) (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " . \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil))))) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " . \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil)))))) (catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " . \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " . \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil))))))) org-element--parse-to(120 t nil) (let ((parent (org-element--parse-to limit t time-limit))) (aset request 5 parent) (aset request 6 2)) (let ((limit (+ (aref request 1) (aref request 3) extra))) (if (and threshold (< threshold limit)) (progn (throw (quote interrupt) nil))) (let ((parent (org-element--parse-to limit t time-limit))) (aset request 5 parent) (aset request 6 2))) (progn (if (equal (aref request 0) next) (progn (aset (nth 1 org-element--cache-sync-requests) 6 1) (throw (quote quit) t))) (let ((limit (+ (aref request 1) (aref request 3) extra))) (if (and threshold (< threshold limit)) (progn (throw (quote interrupt) nil))) (let ((parent (org-element--parse-to limit t time-limit))) (aset request 5 parent) (aset request 6 2)))) (if (= (aref request 6) 1) (progn (if (equal (aref request 0) next) (progn (aset (nth 1 org-element--cache-sync-requests) 6 1) (throw (quote quit) t))) (let ((limit (+ (aref request 1) (aref request 3) extra))) (if (and threshold (< threshold limit)) (progn (throw (quote interrupt) nil))) (let ((parent (org-element--parse-to limit t time-limit))) (aset request 5 parent) (aset request 6 2))))) (catch (quote quit) (if (= (aref request 6) 0) (progn (catch (quote end-phase) (let ((beg (aref request 0)) (end (aref request 2)) (outreach (aref request 4))) (while t (if (org-element--cache-interrupt-p time-limit) (progn ...)) (let (... data data-key) (while node ...) (if data ... ...))))))) (if (= (aref request 6) 1) (progn (if (equal (aref request 0) next) (progn (aset (nth 1 org-element--cache-sync-requests) 6 1) (throw (quote quit) t))) (let ((limit (+ (aref request 1) (aref request 3) extra))) (if (and threshold (< threshold limit)) (progn (throw (quote interrupt) nil))) (let ((parent (org-element--parse-to limit t time-limit))) (aset request 5 parent) (aset request 6 2))))) (let ((start (aref request 0)) (offset (aref request 3)) (parent (aref request 5)) (node (org-element--cache-root)) (stack (list nil)) (leftp t) exit-flag) (if (and (not parent) (zerop offset)) (progn (throw (quote quit) t))) (while node (let* ((data (progn (aref node 2))) (key (org-element--cache-key data))) (if (and leftp (progn (aref node 0)) (not (org-element--cache-key-less-p key start))) (progn (setq stack (cons node stack)) (setq node (progn ...))) (if (org-element--cache-key-less-p key start) nil (if (equal key next) (progn ...)) (if (or exit-flag ...) (progn ... ... ...)) (if (zerop offset) nil (org-element--cache-shift-positions data offset) (progn ...)) (let (...) (while ... ...) (cond ... ...) (if ... ...))) (setq node (if (setq leftp ...) (progn ...) (car ...)))))) t)) org-element--cache-process-request([1642 134 123 -7 (property-drawer (:begin 57 :end 123 :contents-begin 73 :contents-end 113 :post-blank 1 :post-affiliated 57 :parent nil)) nil 2] nil 167 nil -7) (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)) (or extra 0)) (if next (progn (let* ((v next)) (aset v 3 (+ (aref v 3) (aref request 3)))) (aset next 2 (aref request 2)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests))) (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)) (or extra 0)) (if next (progn (let* ((v next)) (aset v 3 (+ (aref v 3) (aref request 3)))) (aset next 2 (aref request 2)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (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)) (or extra 0)) (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)) (or extra 0)) (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)) (or extra 0)) (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 ... ...) (or extra 0)) (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(# 167 -7) (progn (org-element--cache-sync (current-buffer) end offset)) (if next (progn (org-element--cache-sync (current-buffer) end offset))) (if (and next (zerop (aref next 6)) (> (setq delete-to (+ (aref next 2) (aref next 3))) end) (<= (setq delete-from (aref next 1)) end)) (progn (let* ((v next)) (aset v 3 (+ (aref v 3) offset))) (if (> beg delete-from) (let ((up (aref next 5))) (while up (org-element--cache-shift-positions up offset (quote (:contents-end :end))) (setq up (org-element-property :parent up)))) (let ((first (org-element--cache-for-removal beg delete-to offset))) (if first (progn (aset next 0 (org-element--cache-key first)) (aset next 1 (org-element-property :begin first)) (aset next 5 (org-element-property :parent first))))))) (if next (progn (org-element--cache-sync (current-buffer) end offset))) (let ((first (org-element--cache-for-removal beg end offset))) (if first (setq org-element--cache-sync-requests (cons (let ((beg ...) (key ...)) (cond (... ...) (...) (t ...))) org-element--cache-sync-requests)) (if org-element--cache-sync-requests (progn (let* ((v ...)) (aset v 3 (+ ... offset)))))))) (let ((next (car org-element--cache-sync-requests)) delete-to delete-from) (if (and next (zerop (aref next 6)) (> (setq delete-to (+ (aref next 2) (aref next 3))) end) (<= (setq delete-from (aref next 1)) end)) (progn (let* ((v next)) (aset v 3 (+ (aref v 3) offset))) (if (> beg delete-from) (let ((up (aref next 5))) (while up (org-element--cache-shift-positions up offset (quote ...)) (setq up (org-element-property :parent up)))) (let ((first (org-element--cache-for-removal beg delete-to offset))) (if first (progn (aset next 0 ...) (aset next 1 ...) (aset next 5 ...)))))) (if next (progn (org-element--cache-sync (current-buffer) end offset))) (let ((first (org-element--cache-for-removal beg end offset))) (if first (setq org-element--cache-sync-requests (cons (let (... ...) (cond ... ... ...)) org-element--cache-sync-requests)) (if org-element--cache-sync-requests (progn (let* (...) (aset v 3 ...)))))))) org-element--cache-submit-request(144 167 -7) (let ((offset (- end beg pre))) (org-element--cache-submit-request top (- bottom offset) offset)) (let ((top (point)) (bottom (save-excursion (goto-char end) (line-end-position)))) (if (cond ((memql org-element--cache-change-warning (quote (t))) t) ((eql org-element--cache-change-warning (quote headline)) (not (and (let* (... ... ... ...) (org-at-heading-p)) (= (line-end-position) bottom)))) (t (let ((case-fold-search t)) (re-search-forward org-element--cache-sensitive-re bottom t)))) (progn (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (setq top (progn (goto-char top) (if (outline-previous-heading) (progn ...)) (point))) (setq bottom (progn (goto-char bottom) (if (outline-next-heading) (1- ...) (point))))))) (let ((offset (- end beg pre))) (org-element--cache-submit-request top (- bottom offset) offset))) (progn (let ((top (point)) (bottom (save-excursion (goto-char end) (line-end-position)))) (if (cond ((memql org-element--cache-change-warning (quote (t))) t) ((eql org-element--cache-change-warning (quote headline)) (not (and (let* ... ...) (= ... bottom)))) (t (let ((case-fold-search t)) (re-search-forward org-element--cache-sensitive-re bottom t)))) (progn (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (setq top (progn (goto-char top) (if ... ...) (point))) (setq bottom (progn (goto-char bottom) (if ... ... ...)))))) (let ((offset (- end beg pre))) (org-element--cache-submit-request top (- bottom offset) offset)))) (unwind-protect (progn (let ((top (point)) (bottom (save-excursion (goto-char end) (line-end-position)))) (if (cond ((memql org-element--cache-change-warning (quote ...)) t) ((eql org-element--cache-change-warning (quote headline)) (not (and ... ...))) (t (let (...) (re-search-forward org-element--cache-sensitive-re bottom t)))) (progn (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (setq top (progn ... ... ...)) (setq bottom (progn ... ...))))) (let ((offset (- end beg pre))) (org-element--cache-submit-request top (- bottom offset) offset)))) (set-match-data save-match-data-internal (quote evaporate))) (let ((save-match-data-internal (match-data))) (unwind-protect (progn (let ((top (point)) (bottom (save-excursion (goto-char end) (line-end-position)))) (if (cond ((memql org-element--cache-change-warning ...) t) ((eql org-element--cache-change-warning ...) (not ...)) (t (let ... ...))) (progn (let* (... ... ... ...) (setq top ...) (setq bottom ...)))) (let ((offset (- end beg pre))) (org-element--cache-submit-request top (- bottom offset) offset)))) (set-match-data save-match-data-internal (quote evaporate)))) (save-restriction (widen) (goto-char beg) (beginning-of-line) (let ((save-match-data-internal (match-data))) (unwind-protect (progn (let ((top (point)) (bottom (save-excursion ... ...))) (if (cond (... t) (... ...) (t ...)) (progn (let* ... ... ...))) (let ((offset ...)) (org-element--cache-submit-request top (- bottom offset) offset)))) (set-match-data save-match-data-internal (quote evaporate))))) (save-excursion (save-restriction (widen) (goto-char beg) (beginning-of-line) (let ((save-match-data-internal (match-data))) (unwind-protect (progn (let ((top ...) (bottom ...)) (if (cond ... ... ...) (progn ...)) (let (...) (org-element--cache-submit-request top ... offset)))) (set-match-data save-match-data-internal (quote evaporate)))))) (progn (save-excursion (save-restriction (widen) (goto-char beg) (beginning-of-line) (let ((save-match-data-internal (match-data))) (unwind-protect (progn (let (... ...) (if ... ...) (let ... ...))) (set-match-data save-match-data-internal (quote evaporate)))))) (org-element--cache-set-timer (current-buffer))) (if (org-element--cache-active-p) (progn (save-excursion (save-restriction (widen) (goto-char beg) (beginning-of-line) (let ((save-match-data-internal (match-data))) (unwind-protect (progn (let ... ... ...)) (set-match-data save-match-data-internal (quote evaporate)))))) (org-element--cache-set-timer (current-buffer)))) org-element--cache-after-change(149 153 11) replace-match("name" nil t) replace-match-maybe-edit("name" nil t nil (149 160 #)) perform-replace("resource_id" "name" t nil nil nil nil nil nil) query-replace("resource_id" "name" nil nil nil) call-interactively(query-replace nil nil) -- cheers, Thorsten