diff options
author | Bastien Guerry <bzg@altern.org> | 2014-05-30 08:46:39 +0200 |
---|---|---|
committer | Bastien Guerry <bzg@altern.org> | 2014-05-30 08:46:39 +0200 |
commit | 822dcfc881a5df3249fcecf4b7bc71ee9c321b92 (patch) | |
tree | 7a2f540e672e028d81b2f0f215c802e884320f7f | |
parent | 34c2365081f6e187b41c54d65db55ab83c78f933 (diff) | |
download | org-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.el | 16 |
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))) |