summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Guerry <bzg@altern.org>2012-08-15 14:43:35 +0200
committerBastien Guerry <bzg@altern.org>2012-08-15 14:43:35 +0200
commitcacb08334a914cca19effbe98a35d192e898aed9 (patch)
tree2b7a25564c5a6cec2c29b94c722cc1ec2e55fe87
parentd14ed316ccbc43322d201c70cbbe6de4b4fd8b20 (diff)
parent9afc2ac56b0e0815ed0e827312a0f0589dcda2f0 (diff)
downloadorg-mode-cacb08334a914cca19effbe98a35d192e898aed9.tar.gz
Merge branch 'org-no-properties'
-rw-r--r--lisp/ob-exp.el2
-rw-r--r--lisp/ob-lob.el4
-rw-r--r--lisp/ob-table.el2
-rw-r--r--lisp/ob-tangle.el4
-rw-r--r--lisp/ob.el27
-rw-r--r--lisp/org-capture.el7
-rw-r--r--lisp/org-colview-xemacs.el7
-rw-r--r--lisp/org-colview.el14
-rw-r--r--lisp/org-compat.el5
-rw-r--r--lisp/org-gnus.el8
-rw-r--r--lisp/org-macs.el9
-rw-r--r--lisp/org-remember.el7
-rw-r--r--lisp/org-table.el3
-rw-r--r--lisp/org.el9
14 files changed, 48 insertions, 60 deletions
diff --git a/lisp/ob-exp.el b/lisp/ob-exp.el
index 604689e..d17fd34 100644
--- a/lisp/ob-exp.el
+++ b/lisp/ob-exp.el
@@ -194,7 +194,7 @@ this template."
org-babel-default-lob-header-args
(org-babel-params-from-properties)
(org-babel-parse-header-arguments
- (org-babel-clean-text-properties
+ (org-no-properties
(concat ":var results="
(mapconcat #'identity
(butlast lob-info)
diff --git a/lisp/ob-lob.el b/lisp/ob-lob.el
index 53d0933..6aafe34 100644
--- a/lisp/ob-lob.el
+++ b/lisp/ob-lob.el
@@ -105,7 +105,7 @@ if so then run the appropriate source block from the Library."
(beginning-of-line 1)
(when (looking-at org-babel-lob-one-liner-regexp)
(append
- (mapcar #'org-babel-clean-text-properties
+ (mapcar #'org-no-properties
(list
(format "%s%s(%s)%s"
(funcall nonempty 3 12)
@@ -124,7 +124,7 @@ if so then run the appropriate source block from the Library."
org-babel-default-header-args
(org-babel-params-from-properties)
(org-babel-parse-header-arguments
- (org-babel-clean-text-properties
+ (org-no-properties
(concat ":var results="
(mapconcat #'identity (butlast info) " "))))))
(pre-info (funcall mkinfo pre-params))
diff --git a/lisp/ob-table.el b/lisp/ob-table.el
index f636415..242ddf0 100644
--- a/lisp/ob-table.el
+++ b/lisp/ob-table.el
@@ -99,7 +99,7 @@ as shown in the example below.
(prog1 nil (setq quote t))
(prog1 (if quote
(format "\"%s\"" el)
- (org-babel-clean-text-properties el))
+ (org-no-properties el))
(setq quote nil))))
(cdr var)))))
variables)))
diff --git a/lisp/ob-tangle.el b/lisp/ob-tangle.el
index 37032a9..5bf70fe 100644
--- a/lisp/ob-tangle.el
+++ b/lisp/ob-tangle.el
@@ -374,7 +374,7 @@ code blocks by language."
(link ((lambda (link)
(and (string-match org-bracket-link-regexp link)
(match-string 1 link)))
- (org-babel-clean-text-properties
+ (org-no-properties
(org-store-link nil))))
(source-name
(intern (or (nth 4 info)
@@ -441,7 +441,7 @@ code blocks by language."
(let* ((start-line (org-babel-where-is-src-block-head))
(file (buffer-file-name))
(link (org-link-escape (progn (call-interactively 'org-store-link)
- (org-babel-clean-text-properties
+ (org-no-properties
(car (pop org-stored-links))))))
(source-name (nth 4 (or info (org-babel-get-src-block-info 'light))))
(link-data (mapcar (lambda (el)
diff --git a/lisp/ob.el b/lisp/ob.el
index b984525..7518293 100644
--- a/lisp/ob.el
+++ b/lisp/ob.el
@@ -254,7 +254,7 @@ Returns a list
(nth 2 info)
(org-babel-parse-header-arguments (match-string 1)))))
(when (looking-at org-babel-src-name-w-name-regexp)
- (setq name (org-babel-clean-text-properties (match-string 3)))
+ (setq name (org-no-properties (match-string 3)))
(when (and (match-string 5) (> (length (match-string 5)) 0))
(setf (nth 2 info) ;; merge functional-syntax vars and header-args
(org-babel-merge-params
@@ -661,7 +661,7 @@ arguments and pop open the results in a preview buffer."
(dolist (header (mapcar (lambda (arg) (substring (symbol-name (car arg)) 1))
(and (org-babel-where-is-src-block-head)
(org-babel-parse-header-arguments
- (org-babel-clean-text-properties
+ (org-no-properties
(match-string 4))))))
(dolist (name names)
(when (and (not (string= header name))
@@ -1061,7 +1061,7 @@ the current subtree."
(defun org-babel-current-result-hash ()
"Return the current in-buffer hash."
(org-babel-where-is-src-block-result)
- (org-babel-clean-text-properties (match-string 3)))
+ (org-no-properties (match-string 3)))
(defun org-babel-set-current-result-hash (hash)
"Set the current in-buffer hash to HASH."
@@ -1223,10 +1223,10 @@ may be specified in the properties of the current outline entry."
(defun org-babel-parse-src-block-match ()
"Parse the results from a match of the `org-babel-src-block-regexp'."
(let* ((block-indentation (length (match-string 1)))
- (lang (org-babel-clean-text-properties (match-string 2)))
+ (lang (org-no-properties (match-string 2)))
(lang-headers (intern (concat "org-babel-default-header-args:" lang)))
(switches (match-string 3))
- (body (org-babel-clean-text-properties
+ (body (org-no-properties
(let* ((body (match-string 5))
(sub-length (- (length body) 1)))
(if (and (> sub-length 0)
@@ -1248,23 +1248,23 @@ may be specified in the properties of the current outline entry."
(org-babel-params-from-properties lang)
(if (boundp lang-headers) (eval lang-headers) nil)
(org-babel-parse-header-arguments
- (org-babel-clean-text-properties (or (match-string 4) ""))))
+ (org-no-properties (or (match-string 4) ""))))
switches
block-indentation)))
(defun org-babel-parse-inline-src-block-match ()
"Parse the results from a match of the `org-babel-inline-src-block-regexp'."
- (let* ((lang (org-babel-clean-text-properties (match-string 2)))
+ (let* ((lang (org-no-properties (match-string 2)))
(lang-headers (intern (concat "org-babel-default-header-args:" lang))))
(list lang
(org-babel-strip-protective-commas
- (org-babel-clean-text-properties (match-string 5)) lang)
+ (org-no-properties (match-string 5)) lang)
(org-babel-merge-params
org-babel-default-inline-header-args
(org-babel-params-from-properties lang)
(if (boundp lang-headers) (eval lang-headers) nil)
(org-babel-parse-header-arguments
- (org-babel-clean-text-properties (or (match-string 4) "")))))))
+ (org-no-properties (or (match-string 4) "")))))))
(defun org-babel-balanced-split (string alts)
"Split STRING on instances of ALTS.
@@ -1823,7 +1823,7 @@ If the path of the link is a file path it is expanded using
`expand-file-name'."
(let* ((case-fold-search t)
(raw (and (looking-at org-bracket-link-regexp)
- (org-babel-clean-text-properties (match-string 1))))
+ (org-no-properties (match-string 1))))
(type (and (string-match org-link-types-re raw)
(match-string 1 raw))))
(cond
@@ -1891,7 +1891,7 @@ code ---- the results are extracted in the syntax of the source
optional LANG argument."
(if (stringp result)
(progn
- (setq result (org-babel-clean-text-properties result))
+ (setq result (org-no-properties result))
(when (member "file" result-params)
(setq result (org-babel-result-to-file
result (when (assoc :file-desc (nth 2 info))
@@ -2364,11 +2364,6 @@ block but are passed literally to the \"example-block\"."
(funcall nb-add (buffer-substring index (point-max))))
new-body))
-(defun org-babel-clean-text-properties (text)
- "Strip all properties from text return."
- (when text
- (set-text-properties 0 (length text) nil text) text))
-
(defun org-babel-strip-protective-commas (body &optional lang)
"Strip protective commas from bodies of source blocks."
(with-temp-buffer
diff --git a/lisp/org-capture.el b/lisp/org-capture.el
index e8ce699..a59d9ee 100644
--- a/lisp/org-capture.el
+++ b/lisp/org-capture.el
@@ -1299,8 +1299,7 @@ Lisp programs can force the template by setting KEYS to a string."
The template may still contain \"%?\" for cursor positioning."
(setq template (or template (org-capture-get :template)))
(when (stringp initial)
- (setq initial (org-no-properties initial))
- (remove-text-properties 0 (length initial) '(read-only t) initial))
+ (setq initial (org-no-properties initial)))
(let* ((buffer (org-capture-get :buffer))
(file (buffer-file-name (or (buffer-base-buffer buffer) buffer)))
(ct (org-capture-get :default-time))
@@ -1344,7 +1343,7 @@ The template may still contain \"%?\" for cursor positioning."
v-a))
(v-n user-full-name)
(v-k (if (marker-buffer org-clock-marker)
- (org-substring-no-properties org-clock-heading)))
+ (org-no-properties org-clock-heading)))
(v-K (if (marker-buffer org-clock-marker)
(org-make-link-string
(buffer-file-name (marker-buffer org-clock-marker))
@@ -1477,7 +1476,7 @@ The template may still contain \"%?\" for cursor positioning."
'(clipboards . 1)
(car clipboards))))))
((equal char "p")
- (org-set-property (org-substring-no-properties prompt) nil))
+ (org-set-property (org-no-properties prompt) nil))
(char
;; These are the date/time related ones
(setq org-time-was-given (equal (upcase char) char))
diff --git a/lisp/org-colview-xemacs.el b/lisp/org-colview-xemacs.el
index 25ad4ca..bfea40d 100644
--- a/lisp/org-colview-xemacs.el
+++ b/lisp/org-colview-xemacs.el
@@ -305,10 +305,9 @@ This is the compiled version of the format.")
(and (looking-at "\\(\\**\\)\\(\\* \\)")
(org-get-level-face 2))))
(item (save-match-data
- (org-no-properties
- (org-remove-tabs
- (buffer-substring-no-properties
- (point-at-bol) (point-at-eol))))))
+ (org-remove-tabs
+ (buffer-substring-no-properties
+ (point-at-bol) (point-at-eol)))))
(color (if (featurep 'xemacs)
(save-excursion
(beginning-of-line 1)
diff --git a/lisp/org-colview.el b/lisp/org-colview.el
index 8da2d1e..21967f2 100644
--- a/lisp/org-colview.el
+++ b/lisp/org-colview.el
@@ -189,15 +189,13 @@ This is the compiled version of the format.")
;; we'll clean it later…
(if (derived-mode-p 'org-mode)
(save-match-data
- (org-no-properties
- (org-remove-tabs
- (buffer-substring-no-properties
- (point-at-bol) (point-at-eol)))))
+ (org-remove-tabs
+ (buffer-substring-no-properties
+ (point-at-bol) (point-at-eol))))
;; In agenda, just get the `txt' property
- (org-no-properties
- (or (org-get-at-bol 'txt)
- (buffer-substring
- (point) (progn (end-of-line) (point)))))))
+ (or (org-get-at-bol 'txt)
+ (buffer-substring-no-properties
+ (point) (progn (end-of-line) (point))))))
(assoc property props))
width (or (cdr (assoc property org-columns-current-maxwidths))
(nth 2 column)
diff --git a/lisp/org-compat.el b/lisp/org-compat.el
index b049ecc..0a98ed1 100644
--- a/lisp/org-compat.el
+++ b/lisp/org-compat.el
@@ -326,11 +326,6 @@ Works on both Emacs and XEmacs."
string)
(apply 'propertize string properties)))
-(defun org-substring-no-properties (string &optional from to)
- (if (featurep 'xemacs)
- (org-no-properties (substring string (or from 0) to))
- (substring-no-properties string from to)))
-
(defmacro org-find-library-dir (library)
`(file-name-directory (locate-library ,library)))
diff --git a/lisp/org-gnus.el b/lisp/org-gnus.el
index 86c58e1..de8a00f 100644
--- a/lisp/org-gnus.el
+++ b/lisp/org-gnus.el
@@ -233,9 +233,9 @@ If `org-store-link' was called with a prefix arg the meaning of
(setq group (match-string 1 path)
article (match-string 3 path))
(when group
- (setq group (org-substring-no-properties group)))
+ (setq group (org-no-properties group)))
(when article
- (setq article (org-substring-no-properties article)))
+ (setq article (org-no-properties article)))
(org-gnus-follow-link group article)))
(defun org-gnus-follow-link (&optional group article)
@@ -244,9 +244,9 @@ If `org-store-link' was called with a prefix arg the meaning of
(funcall (cdr (assq 'gnus org-link-frame-setup)))
(if gnus-other-frame-object (select-frame gnus-other-frame-object))
(when group
- (setq group (org-substring-no-properties group)))
+ (setq group (org-no-properties group)))
(when article
- (setq article (org-substring-no-properties article)))
+ (setq article (org-no-properties article)))
(cond ((and group article)
(gnus-activate-group group)
(condition-case nil
diff --git a/lisp/org-macs.el b/lisp/org-macs.el
index 75c4013..e999917 100644
--- a/lisp/org-macs.el
+++ b/lisp/org-macs.el
@@ -239,10 +239,15 @@ We use a macro so that the test can happen at compilation time."
s)
(match-string-no-properties num string)))
-(defsubst org-no-properties (s)
+(defsubst org-no-properties (s &optional restricted)
+ "Remove all text properties from string S.
+When RESTRICTED is non-nil, only remove the properties listed
+in `org-rm-props'."
(if (fboundp 'set-text-properties)
(set-text-properties 0 (length s) nil s)
- (remove-text-properties 0 (length s) org-rm-props s))
+ (if restricted
+ (remove-text-properties 0 (length s) org-rm-props s)
+ (set-text-properties 0 (length s) nil s)))
s)
(defsubst org-get-alist-option (option key)
diff --git a/lisp/org-remember.el b/lisp/org-remember.el
index 0cc152f..7a1eb77 100644
--- a/lisp/org-remember.el
+++ b/lisp/org-remember.el
@@ -398,8 +398,7 @@ RET at beg-of-buf -> Append to file as level 2 headline
This function should be placed into `remember-mode-hook' and in fact requires
to be run from that hook to function properly."
(when (and (boundp 'initial) (stringp initial))
- (setq initial (org-no-properties initial))
- (remove-text-properties 0 (length initial) '(read-only t) initial))
+ (setq initial (org-no-properties initial)))
(if org-remember-templates
(let* ((entry (org-select-remember-template use-char))
(ct (or org-overriding-default-time (org-current-time)))
@@ -446,7 +445,7 @@ to be run from that hook to function properly."
v-a))
(v-n user-full-name)
(v-k (if (marker-buffer org-clock-marker)
- (org-substring-no-properties org-clock-heading)))
+ (org-no-properties org-clock-heading)))
(v-K (if (marker-buffer org-clock-marker)
(org-make-link-string
(buffer-file-name (marker-buffer org-clock-marker))
@@ -598,7 +597,7 @@ to be run from that hook to function properly."
(car clipboards))))))
((equal char "p")
(let*
- ((prop (org-substring-no-properties prompt))
+ ((prop (org-no-properties prompt))
(pall (concat prop "_ALL"))
(allowed
(with-current-buffer
diff --git a/lisp/org-table.el b/lisp/org-table.el
index b3a1c44..eddf482 100644
--- a/lisp/org-table.el
+++ b/lisp/org-table.el
@@ -2501,8 +2501,7 @@ not overwrite the stored one."
(setq orig (or (get-text-property 1 :orig-formula formula) "?"))
(while (> ndown 0)
(setq fields (org-split-string
- (org-no-properties
- (buffer-substring (point-at-bol) (point-at-eol)))
+ (buffer-substring-no-properties (point-at-bol) (point-at-eol))
" *| *"))
;; replace fields with duration values if relevant
(if duration
diff --git a/lisp/org.el b/lisp/org.el
index f605443..f824f89 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -14450,11 +14450,10 @@ things up because then unnecessary parsing is avoided."
(substring (org-match-string-no-properties 1)
0 -1))
string (if (equal key clockstr)
- (org-no-properties
- (org-trim
- (buffer-substring
- (match-beginning 3) (goto-char
- (point-at-eol)))))
+ (org-trim
+ (buffer-substring-no-properties
+ (match-beginning 3) (goto-char
+ (point-at-eol))))
(substring (org-match-string-no-properties 3)
1 -1)))
;; Get the correct property name from the key. This is