Browse Source

Merge branch 'master' of orgmode.org:org-mode

Bastien Guerry 11 years ago
parent
commit
b345cc759a
2 changed files with 34 additions and 12 deletions
  1. 32 11
      contrib/lisp/org-effectiveness.el
  2. 2 1
      lisp/org.el

+ 32 - 11
contrib/lisp/org-effectiveness.el

@@ -33,6 +33,22 @@
 
 (require 'org)
 
+(defcustom org-effectiveness-max-todo 50
+  "This variable is useful to advice to the user about 
+many TODO pending"
+  :type 'integer
+  :group 'org-effectiveness)
+
+(defun org-effectiveness-advice()
+  "Advicing about a possible excess of TODOS"
+  (interactive)
+  (goto-char (point-min))
+  (if (< org-effectiveness-max-todo (count-matches "* TODO"))
+      (message "An excess of TODOS!")))
+
+;; Check advice starting an org file
+(add-hook 'org-mode-hook 'org-effectiveness-advice)
+
 (defun org-effectiveness-count-keyword(keyword)
   "Print a message with the number of keyword outline in the current buffer"
   (interactive "sKeyword: ")
@@ -208,21 +224,26 @@
 (defun org-effectiveness-plot-ascii (startdate enddate)
   (interactive "sGive me the start date: \nsGive me the end date: " startdate enddate)
   (setq dates (org-effectiveness-check-dates startdate enddate))
-  (setq syear (cadr (assoc 'startyear dates)))
-  (setq smonth (cadr (assoc 'startmonth dates)))
-  (setq eyear (cadr (assoc 'endyear dates)))
-  (setq emonth (cadr (assoc 'endmonth dates)))
-;;  (switch-to-buffer "*org-effectiveness*")
-  (let ((month smonth)
-  	(year syear)
+  (let ((syear (cadr (assoc 'startyear dates)))
+	(smonth (cadr (assoc 'startmonth dates)))
+  	(year (cadr (assoc 'startyear dates)))
+	(month (cadr (assoc 'startmonth dates)))
+	(emonth (cadr (assoc 'endmonth dates)))
+	(eyear (cadr (assoc 'endyear dates)))
+	(buffer (current-buffer))
   	(str ""))
-    (while (and (>= eyear year) (>= emonth month))
-      (org-effectiveness-ascii-bar (string-to-number (org-effectiveness-in-date (concat (number-to-string year) "-" (org-effectiveness-month-to-string month)) 1)) (format "%s-%s" year month))
-      (if (= month 12)
+    (while (or (> eyear year) (and (= eyear year) (>= emonth month)))
+      (setq str (org-effectiveness-in-date (concat (number-to-string year) "-" (org-effectiveness-month-to-string month)) 1))
+      (switch-to-buffer "*org-effectiveness*")
+      (org-effectiveness-ascii-bar (string-to-number str) (format "%s-%s" year month))
+      (switch-to-buffer buffer)
+      (if (eq month 12)
   	  (progn 
   	    (setq year (+ 1 year))
   	    (setq month 1))
-  	(setq month (+ 1 month))))))
+  	(setq month (+ 1 month)))))
+  (switch-to-buffer "*org-effectiveness*"))
+
 
 (provide 'org-effectiveness)
 

+ 2 - 1
lisp/org.el

@@ -10556,7 +10556,8 @@ is used internally by `org-open-link-from-string'."
 			     (cond ((not option) nil)
 				   ((org-string-match-p "\\`[0-9]+\\'" option)
 				    (list (string-to-number option)))
-				   (t (list nil option))))))))
+				   (t (list nil
+					    (org-link-unescape option)))))))))
 	       ((assoc type org-link-protocols)
 		(funcall (nth 1 (assoc type org-link-protocols)) path))
 	       ((equal type "help")