summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Guerry <bzg@altern.org>2014-05-30 08:46:39 +0200
committerBastien Guerry <bzg@altern.org>2014-05-30 08:46:39 +0200
commit822dcfc881a5df3249fcecf4b7bc71ee9c321b92 (patch)
tree7a2f540e672e028d81b2f0f215c802e884320f7f
parent34c2365081f6e187b41c54d65db55ab83c78f933 (diff)
downloadorg-mode-822dcfc881a5df3249fcecf4b7bc71ee9c321b92.tar.gz
org.el: Fix bug when setting properties with a null value
* org.el (org-re-property): New parameter `allow-null' to match property with a null value. (org-entry-put): Correctly update a property with a null value. Thanks to Andrea Rossetti for reporting this and suggesting a fix.
-rw-r--r--lisp/org.el16
1 files changed, 9 insertions, 7 deletions
diff --git a/lisp/org.el b/lisp/org.el
index a43a8f4..e41855d 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -6155,12 +6155,14 @@ Use `org-reduced-level' to remove the effect of `org-odd-levels'."
(defvar org-font-lock-keywords nil)
-(defsubst org-re-property (property &optional literal)
- "Return a regexp matching a PROPERTY line.
-Match group 3 will be set to the value if it exists."
- (concat "^\\(?4:[ \t]*\\)\\(?1::\\(?2:"
- (if literal property (regexp-quote property))
- "\\):\\)[ \t]+\\(?3:[^ \t\r\n].*?\\)\\(?5:[ \t]*\\)$"))
+(defsubst org-re-property (property &optional literal allow-null)
+ "Return a regexp matching a PROPERTY line.
+ Match group 3 will be set to the value if it exists."
+ (concat "^\\(?4:[ \t]*\\)\\(?1::\\(?2:"
+ (if literal property (regexp-quote property))
+ "\\):\\)[ \t]+\\(?3:[^ \t\r\n]"
+ (if allow-null "*")
+ ".*?\\)\\(?5:[ \t]*\\)$"))
(defconst org-property-re
(org-re-property ".*?" 'literal)
@@ -15589,7 +15591,7 @@ If it is not a string, an error is raised."
(setq range (org-get-property-block beg end 'force))
(goto-char (car range))
(if (re-search-forward
- (org-re-property property) (cdr range) t)
+ (org-re-property property nil t) (cdr range) t)
(progn
(delete-region (match-beginning 0) (match-end 0))
(goto-char (match-beginning 0)))