ソースを参照

Merge branch 'maint'

org-bbdb in master already contained declare-function for external
bbdb-functions.

Conflicts:
	lisp/org-bbdb.el
David Maus 13 年 前
コミット
21c7ad67cf
3 ファイル変更21 行追加13 行削除
  1. 11 1
      lisp/org-agenda.el
  2. 7 9
      lisp/org-bbdb.el
  3. 3 3
      lisp/org.el

+ 11 - 1
lisp/org-agenda.el

@@ -5889,8 +5889,18 @@ could bind the variable in the options section of a custom command.")
       (let ((pl (text-property-any 0 (length x) 'org-heading t x)))
       (let ((pl (text-property-any 0 (length x) 'org-heading t x)))
 	(setq re (get-text-property 0 'org-todo-regexp x))
 	(setq re (get-text-property 0 'org-todo-regexp x))
 	(when (and re
 	(when (and re
+		   ;; Test `pl' because if there's no heading content,
+		   ;; there's no point matching to highlight.  Note
+		   ;; that if we didn't test `pl' first, and there
+		   ;; happened to be no keyword from `org-todo-regexp'
+		   ;; on this heading line, then the `equal' comparison
+		   ;; afterwards would spuriously succeed in the case
+		   ;; where `pl' is nil -- causing an args-out-of-range
+		   ;; error when we try to add text properties to text
+		   ;; that isn't there.
+		   pl
 		   (equal (string-match (concat "\\(\\.*\\)" re "\\( +\\)")
 		   (equal (string-match (concat "\\(\\.*\\)" re "\\( +\\)")
-					x (or pl 0)) pl))
+					x pl) pl))
 	  (add-text-properties
 	  (add-text-properties
 	   (or (match-end 1) (match-end 0)) (match-end 0)
 	   (or (match-end 1) (match-end 0)) (match-end 0)
 	   (list 'face (org-get-todo-face (match-string 2 x)))
 	   (list 'face (org-get-todo-face (match-string 2 x)))

+ 7 - 9
lisp/org-bbdb.el

@@ -112,11 +112,9 @@
           (&optional dont-check-disk already-in-db-buffer))
           (&optional dont-check-disk already-in-db-buffer))
 (declare-function bbdb-split "ext:bbdb" (string separators))
 (declare-function bbdb-split "ext:bbdb" (string separators))
 (declare-function bbdb-string-trim "ext:bbdb" (string))
 (declare-function bbdb-string-trim "ext:bbdb" (string))
-(declare-function bbdb-record-get-field "ext:bbdb"
-		  (fn file &optional arglist fileonly))
-;; These two functions below are part of BBDB3:
-(declare-function bbdb-search-name "ext:bbdb" (regexp &optional layout))
-(declare-function bbdb-search-organization "ext:bbdb" (regexp &optional layout))
+(declare-function bbdb-record-get-field "ext:bbdb" (record field))
+(declare-function bbdb-search-name "ext:bbdb-com" (regexp &optional layout))
+(declare-function bbdb-search-organization "ext:bbdb-com" (regexp &optional layout))
 
 
 (declare-function calendar-leap-year-p "calendar" (year))
 (declare-function calendar-leap-year-p "calendar" (year))
 (declare-function diary-ordinal-suffix "diary-lib" (n))
 (declare-function diary-ordinal-suffix "diary-lib" (n))
@@ -228,10 +226,10 @@ italicized, in all other cases it is left unchanged."
   (let ((inhibit-redisplay (not debug-on-error))
   (let ((inhibit-redisplay (not debug-on-error))
 	(bbdb-electric-p nil))
 	(bbdb-electric-p nil))
     (if (fboundp 'bbdb-name)
     (if (fboundp 'bbdb-name)
-        (org-bbdb-open-old)
-      (org-bbdb-open-new))))
+        (org-bbdb-open-old name)
+      (org-bbdb-open-new name))))
 
 
-(defun org-bbdb-open-old ()
+(defun org-bbdb-open-old (name)
   (catch 'exit
   (catch 'exit
     ;; Exact match on name
     ;; Exact match on name
     (bbdb-name (concat "\\`" name "\\'") nil)
     (bbdb-name (concat "\\`" name "\\'") nil)
@@ -251,7 +249,7 @@ italicized, in all other cases it is left unchanged."
       (delete-window (get-buffer-window "*BBDB*"))
       (delete-window (get-buffer-window "*BBDB*"))
       (error "No matching BBDB record"))))
       (error "No matching BBDB record"))))
 
 
-(defun org-bbdb-open-new ()
+(defun org-bbdb-open-new (name)
   (catch 'exit
   (catch 'exit
     ;; Exact match on name
     ;; Exact match on name
     (bbdb-search-name (concat "\\`" name "\\'") nil)
     (bbdb-search-name (concat "\\`" name "\\'") nil)

+ 3 - 3
lisp/org.el

@@ -7948,7 +7948,7 @@ the following will happen:
   repeater intact.
   repeater intact.
 - the start days in the repeater in the original entry will be shifted
 - the start days in the repeater in the original entry will be shifted
   to past the last clone.
   to past the last clone.
-I this way you can spell out a number of instances of a repeating task,
+In this way you can spell out a number of instances of a repeating task,
 and still retain the repeater to cover future instances of the task."
 and still retain the repeater to cover future instances of the task."
   (interactive "nNumber of clones to produce: \nsDate shift per clone (e.g. +1w, empty to copy unchanged): ")
   (interactive "nNumber of clones to produce: \nsDate shift per clone (e.g. +1w, empty to copy unchanged): ")
   (let (beg end template task idprop
   (let (beg end template task idprop
@@ -7975,7 +7975,7 @@ and still retain the repeater to cover future instances of the task."
     (setq end (point))
     (setq end (point))
     (setq template (buffer-substring beg end))
     (setq template (buffer-substring beg end))
     (when (and doshift
     (when (and doshift
-	       (string-match "<[^<>\n]+ \\+[0-9]+[dwmy][^<>\n]*>" template))
+	       (string-match "<[^<>\n]+ [.+]?\\+[0-9]+[dwmy][^<>\n]*>" template))
       (delete-region beg end)
       (delete-region beg end)
       (setq end beg)
       (setq end beg)
       (setq nmin 0 nmax (1+ nmax) n-no-remove nmax))
       (setq nmin 0 nmax (1+ nmax) n-no-remove nmax))
@@ -8006,7 +8006,7 @@ and still retain the repeater to cover future instances of the task."
 		(while (re-search-forward org-ts-regexp nil t)
 		(while (re-search-forward org-ts-regexp nil t)
 		  (save-excursion
 		  (save-excursion
 		    (goto-char (match-beginning 0))
 		    (goto-char (match-beginning 0))
-		    (if (looking-at "<[^<>\n]+\\( +\\+[0-9]+[dwmy]\\)")
+		    (if (looking-at "<[^<>\n]+\\( +[.+]?\\+[0-9]+[dwmy]\\)")
 			(delete-region (match-beginning 1) (match-end 1)))))))
 			(delete-region (match-beginning 1) (match-end 1)))))))
 	    (setq task (buffer-string)))
 	    (setq task (buffer-string)))
 	  (insert task))
 	  (insert task))