emacs-orgmode
[Top][All Lists]
Advanced

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

[O] Patch on org-read-property-name


From: Vincent Belaïche
Subject: [O] Patch on org-read-property-name
Date: Wed, 22 Jun 2011 22:01:10 +0200

Hello,

Please find a patch for setting properties. A name is proposed when the
pointer is on a property line, the name in that line is set as default.


Changelog:

-----------------------------------------------------------------------
2011-06-22  Vincent Belaïche  <address@hidden>

        * org.el (org-read-property-name): Propose default proerty name value
        by looking at whether current line is already some property setting.
-----------------------------------------------------------------------

diff --git a/lisp/org.el b/lisp/org.el
index b1edfa3..8318968 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -6591,7 +6591,7 @@ in an indirect buffer, in overview mode.  You can dive 
into the tree in
 that copy, use org-occur and incremental search to find a location.
 When pressing RET or `Q', the command returns to the original buffer in
 which the visibility is still unchanged.  After RET is will also jump to
-the location selected in the indirect buffer and expose the headline 
+the location selected in the indirect buffer and expose the headline
 hierarchy above."
   (interactive "P")
   (let* ((org-refile-targets `((nil . (:maxlevel . ,org-goto-max-level))))
@@ -14095,7 +14095,20 @@ This is computed according to 
`org-property-set-functions-alist'."
   "Read a property name."
   (let* ((completion-ignore-case t)
         (keys (org-buffer-property-keys nil t t))
-        (property (org-icompleting-read "Property: " (mapcar 'list keys))))
+        (default-prop (save-excursion
+                        (save-match-data
+                          (beginning-of-line)
+                          (and (looking-at "^\\s-*:\\([^:\n]+\\):")
+                               (null (string= (match-string 1) "END"))
+                               (match-string 1)))))
+        (property (org-icompleting-read
+                   (concat "Property"
+                           (if default-prop (concat " [" default-prop "]") "")
+                           ": ")
+                   (mapcar 'list keys)
+                   nil nil nil nil
+                   default-prop
+                   )))
     (if (member property keys)
        property
       (or (cdr (assoc (downcase property)
@@ -16120,7 +16133,7 @@ sequence appearing also before point.
 Even though the matchers for math are configurable, this function assumes
 that \\begin, \\(, \\[, and $$ are always used.  Only the single dollar
 delimiters are skipped when they have been removed by customization.
-The return value is nil, or a cons cell with the delimiter and the 
+The return value is nil, or a cons cell with the delimiter and the
 position of this delimiter.
 
 This function does a reasonably good job, but can locally be fooled by

reply via email to

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