Browse Source

Merge branch 'maint' into wip

Bastien 7 years ago
parent
commit
8fd176ee76
4 changed files with 28 additions and 31 deletions
  1. 2 1
      contrib/lisp/org-collector.el
  2. 23 28
      lisp/org-agenda.el
  3. 2 1
      lisp/org-attach.el
  4. 1 1
      lisp/org.el

+ 2 - 1
contrib/lisp/org-collector.el

@@ -186,7 +186,8 @@ variables and values specified in props"
 	 (header-props
 	 (header-props
 	  (mapcar (lambda (props)
 	  (mapcar (lambda (props)
 		    (mapcar (lambda (pair)
 		    (mapcar (lambda (pair)
-			      (cons (car pair) (org-babel-read (cdr pair))))
+			      (let ((inhibit-lisp-eval (string= (car pair) "ITEM")))
+				(cons (car pair) (org-babel-read (cdr pair) inhibit-lisp-eval))))
 			    props))
 			    props))
 		  header-props))
 		  header-props))
 	 ;; collect all property names
 	 ;; collect all property names

+ 23 - 28
lisp/org-agenda.el

@@ -4500,9 +4500,9 @@ is active."
       (setq files (org-agenda-files nil 'ifmode))
       (setq files (org-agenda-files nil 'ifmode))
       ;; Add `org-agenda-text-search-extra-files' unless there is some
       ;; Add `org-agenda-text-search-extra-files' unless there is some
       ;; restriction.
       ;; restriction.
-      (unless (get 'org-agenda-files 'org-restrict)
-	(when (eq (car org-agenda-text-search-extra-files) 'agenda-archives)
-	  (pop org-agenda-text-search-extra-files)
+      (when (eq (car org-agenda-text-search-extra-files) 'agenda-archives)
+	(pop org-agenda-text-search-extra-files)
+	(unless (get 'org-agenda-files 'org-restrict)
 	  (setq files (org-add-archive-files files))))
 	  (setq files (org-add-archive-files files))))
       ;; Uniquify files.  However, let `org-check-agenda-file' handle
       ;; Uniquify files.  However, let `org-check-agenda-file' handle
       ;; non-existent ones.
       ;; non-existent ones.
@@ -4763,11 +4763,11 @@ The prefix arg TODO-ONLY limits the search to TODO entries."
 		    (format "*Org Agenda(%s:%s)*"
 		    (format "*Org Agenda(%s:%s)*"
 			    (or org-keys (or (and todo-only "M") "m")) match)
 			    (or org-keys (or (and todo-only "M") "m")) match)
 		  (format "*Org Agenda(%s)*" (or (and todo-only "M") "m")))))
 		  (format "*Org Agenda(%s)*" (or (and todo-only "M") "m")))))
+      (setq matcher (org-make-tags-matcher match))
       ;; Prepare agendas (and `org-tag-alist-for-agenda') before
       ;; Prepare agendas (and `org-tag-alist-for-agenda') before
       ;; expanding tags within `org-make-tags-matcher'
       ;; expanding tags within `org-make-tags-matcher'
       (org-agenda-prepare (concat "TAGS " match))
       (org-agenda-prepare (concat "TAGS " match))
-      (setq matcher (org-make-tags-matcher match)
-	    match (car matcher)
+      (setq match (car matcher)
 	    matcher (cdr matcher))
 	    matcher (cdr matcher))
       (org-compile-prefix-format 'tags)
       (org-compile-prefix-format 'tags)
       (org-set-sorting-strategy 'tags)
       (org-set-sorting-strategy 'tags)
@@ -6001,29 +6001,24 @@ specification like [h]h:mm."
 		    (org-agenda--timestamp-to-absolute
 		    (org-agenda--timestamp-to-absolute
 		     s base 'future (current-buffer) pos)))))
 		     s base 'future (current-buffer) pos)))))
 	       (diff (- deadline current))
 	       (diff (- deadline current))
-	       (suppress-prewarning
-		(let ((scheduled
-		       (and org-agenda-skip-deadline-prewarning-if-scheduled
-			    (org-entry-get nil "SCHEDULED"))))
-		  (cond
-		   ((not scheduled) nil)
-		   ;; The current item has a scheduled date, so
-		   ;; evaluate its prewarning lead time.
-		   ((integerp org-agenda-skip-deadline-prewarning-if-scheduled)
-		    ;; Use global prewarning-restart lead time.
-		    org-agenda-skip-deadline-prewarning-if-scheduled)
-		   ((eq org-agenda-skip-deadline-prewarning-if-scheduled
-			'pre-scheduled)
-		    ;; Set pre-warning to no earlier than SCHEDULED.
-		    (min (- deadline
-			    (org-agenda--timestamp-to-absolute scheduled))
-			 org-deadline-warning-days))
-		   ;; Set pre-warning to deadline.
-		   (t 0))))
-	       (wdays (if suppress-prewarning
-			  (let ((org-deadline-warning-days suppress-prewarning))
-			    (org-get-wdays s))
-			(org-get-wdays s))))
+	       (wdays
+		(cond
+		 ;; The current item has a scheduled date, so
+		 ;; evaluate its prewarning lead time.
+		 ((integerp org-agenda-skip-deadline-prewarning-if-scheduled)
+		  ;; Use global prewarning-restart lead time.
+		  org-agenda-skip-deadline-prewarning-if-scheduled)
+		 ((eq org-agenda-skip-deadline-prewarning-if-scheduled
+		      'pre-scheduled)
+		  ;; Set pre-warning to no earlier than SCHEDULED.
+		  (min (- deadline
+			  (org-agenda--timestamp-to-absolute
+			   (org-entry-get nil "SCHEDULED")))
+		       org-deadline-warning-days))
+		 ;; Set pre-warning to 0
+		 (org-agenda-skip-deadline-prewarning-if-scheduled 0)
+		 ;; Set pre-warning to deadline.
+		 (t (org-get-wdays s)))))
 	  (cond
 	  (cond
 	   ;; Only display deadlines at their base date, at future
 	   ;; Only display deadlines at their base date, at future
 	   ;; repeat occurrences or in today agenda.
 	   ;; repeat occurrences or in today agenda.

+ 2 - 1
lisp/org-attach.el

@@ -320,7 +320,8 @@ the ATTACH_DIR property) their own attachment directory."
 (defun org-attach-annex-get-maybe (path)
 (defun org-attach-annex-get-maybe (path)
   "Call git annex get PATH (via shell) if using git annex.
   "Call git annex get PATH (via shell) if using git annex.
 Signals an error if the file content is not available and it was not retrieved."
 Signals an error if the file content is not available and it was not retrieved."
-  (let ((path-relative (file-relative-name path)))
+  (let* ((default-directory (expand-file-name org-attach-directory))
+	 (path-relative (file-relative-name path)))
     (when (and (org-attach-use-annex)
     (when (and (org-attach-use-annex)
 	       (not
 	       (not
 		(string-equal
 		(string-equal

+ 1 - 1
lisp/org.el

@@ -9982,7 +9982,7 @@ Raise a user error when there is nothing to follow."
     (with-temp-buffer
     (with-temp-buffer
       (let ((org-inhibit-startup (not reference-buffer)))
       (let ((org-inhibit-startup (not reference-buffer)))
 	(org-mode)
 	(org-mode)
-	(insert s)
+	(insert (org-link-escape s))
 	(goto-char (point-min))
 	(goto-char (point-min))
 	(when reference-buffer
 	(when reference-buffer
 	  (setq org-link-abbrev-alist-local
 	  (setq org-link-abbrev-alist-local