summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrégoire Jadi <gregoire.jadi@gmail.com>2013-05-31 01:54:19 +0200
committerGrégoire Jadi <gregoire.jadi@gmail.com>2013-05-31 01:54:19 +0200
commit1399c34e2a0b52602dad74e3e67b281413b1dca6 (patch)
tree255d12c6ac6cb0a7f5b32d3767029df7f9b57964
parentc81b905f44daed6146db96e230bbff3acee06b4e (diff)
downloadorg-mode-1399c34e2a0b52602dad74e3e67b281413b1dca6.tar.gz
contrib/lisp/org-contacts.el: Various formatting improvements and bug fixes
* contrib/lisp/org-contacts.el (org-contacts-ignore-property): Improve formatting and spelling. (org-contacts-complete-name): Improve formatting. (org-contacts-vcard-format): Improve formatting and silent byte compiler. (org-contacts-split-property): Fix a bug where `omit-nulls' were not forced to `t' when `separators' was nil.
-rw-r--r--contrib/lisp/org-contacts.el37
1 files changed, 20 insertions, 17 deletions
diff --git a/contrib/lisp/org-contacts.el b/contrib/lisp/org-contacts.el
index 2aee0f6..ffd17a1 100644
--- a/contrib/lisp/org-contacts.el
+++ b/contrib/lisp/org-contacts.el
@@ -87,7 +87,8 @@ When set to nil, all your Org files will be used."
:group 'org-contacts)
(defcustom org-contacts-ignore-property "IGNORE"
- "Name of the property, which values will be ignored when complete or export to vcard."
+ "Name of the property, which values will be ignored when
+completing or exporting to vcard."
:type 'string
:group 'org-contacts)
@@ -502,14 +503,15 @@ A group FOO is composed of contacts with the tag FOO."
;; Build the list of the email addresses which has
;; been expired
- for ignore-list = (org-contacts-split-property (or
- (cdr (assoc-string org-contacts-ignore-property
- (caddr contact))) ""))
+ for ignore-list = (org-contacts-split-property
+ (or (cdr (assoc-string org-contacts-ignore-property
+ (caddr contact))) ""))
;; Build the list of the user email addresses.
- for email-list = (org-contacts-remove-ignored-property-values ignore-list
- (org-contacts-split-property (or
- (cdr (assoc-string org-contacts-email-property
- (caddr contact))) "")))
+ for email-list = (org-contacts-remove-ignored-property-values
+ ignore-list
+ (org-contacts-split-property
+ (or (cdr (assoc-string org-contacts-email-property
+ (caddr contact))) "")))
;; If the user has email addresses…
if email-list
;; … append a list of USER <EMAIL>.
@@ -890,14 +892,15 @@ to do our best."
(name (org-contacts-vcard-escape (car contact)))
(n (org-contacts-vcard-encode-name name))
(email (cdr (assoc-string org-contacts-email-property properties)))
- (tel (cdr (assoc-string org-contacts-tel-property properties)))
- (ignore (cdr (assoc-string org-contacts-ignore-property properties)))
+ (tel (cdr (assoc-string org-contacts-tel-property properties)))
+ (ignore-list (cdr (assoc-string org-contacts-ignore-property properties)))
+ (ignore-list (when ignore-list
+ (org-contacts-split-property ignore-list)))
(note (cdr (assoc-string org-contacts-note-property properties)))
(bday (org-contacts-vcard-escape (cdr (assoc-string org-contacts-birthday-property properties))))
(addr (cdr (assoc-string org-contacts-address-property properties)))
(nick (org-contacts-vcard-escape (cdr (assoc-string org-contacts-nickname-property properties))))
(head (format "BEGIN:VCARD\nVERSION:3.0\nN:%s\nFN:%s\n" n name))
- (ignore-list (when ignore (setq ignore-list (org-contacts-split-property ignore))))
emails-list result phones-list)
(concat head
(when email (progn
@@ -995,12 +998,12 @@ normally \"[,; \f\t\n\r\v]+\", and OMIT-NULLS is forced to t.
If OMIT-NULLS is t, zero-length substrings are omitted from the list \(so
that for the default value of SEPARATORS leading and trailing whitespace
are effectively trimmed). If nil, all zero-length substrings are retained."
-(let* ((keep-nulls (or nil omit-nulls))
- (rexp (or separators org-contacts-property-values-separators))
- (inputlist (split-string string rexp keep-nulls))
- (linkstring "")
- (bufferstring "")
- (proplist (list "")))
+ (let* ((omit-nulls (if separators omit-nulls t))
+ (rexp (or separators org-contacts-property-values-separators))
+ (inputlist (split-string string rexp omit-nulls))
+ (linkstring "")
+ (bufferstring "")
+ (proplist (list "")))
(while inputlist
(setq bufferstring (pop inputlist))
(if (string-match "\\[\\[" bufferstring)