Explorar el Código

Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode

Carsten Dominik hace 14 años
padre
commit
9c4f5725b4
Se han modificado 3 ficheros con 65 adiciones y 48 borrados
  1. 30 25
      lisp/ob-C.el
  2. 19 7
      lisp/org-agenda.el
  3. 16 16
      lisp/org-list.el

+ 30 - 25
lisp/ob-C.el

@@ -105,16 +105,20 @@ or `org-babel-execute:c++'."
 		     (mapconcat 'identity
 				(if (listp flags) flags (list flags)) " ")
 		     tmp-src-file) ""))))
-    (org-babel-reassemble-table
-     (org-babel-read
-      (org-babel-trim
+    ((lambda (results)
+       (org-babel-reassemble-table
+	(if (member "vector" (nth 2 processed-params))
+	    (let ((tmp-file (make-temp-file "ob-c")))
+	      (with-temp-file tmp-file (insert results))
+	      (org-babel-import-elisp-from-file tmp-file))
+	  (org-babel-read results))
+	(org-babel-pick-name
+	 (nth 4 processed-params) (cdr (assoc :colnames params)))
+	(org-babel-pick-name
+	 (nth 5 processed-params) (cdr (assoc :rownames params)))))
+     (org-babel-trim
        (org-babel-eval
-	(concat tmp-bin-file (if cmdline (concat " " cmdline) "")) "")))
-     (org-babel-pick-name
-      (nth 4 processed-params) (cdr (assoc :colnames params)))
-     (org-babel-pick-name
-      (nth 5 processed-params) (cdr (assoc :rownames params))))))
-
+	(concat tmp-bin-file (if cmdline (concat " " cmdline) "")) "")))))
 
 (defun org-babel-C-expand (body params &optional processed-params)
   "Expand a block of C or C++ code with org-babel according to
@@ -127,22 +131,23 @@ it's header arguments."
         (defines (org-babel-read
                   (or (cdr (assoc :defines params))
                       (org-babel-read (org-entry-get nil "defines" t))))))
-    (mapconcat 'identity
-               (list
-                ;; includes
-                (mapconcat
-                 (lambda (inc) (format "#include %s" inc))
-                 (if (listp includes) includes (list includes)) "\n")
-                ;; defines
-                (mapconcat
-                 (lambda (inc) (format "#define %s" inc))
-                 (if (listp defines) defines (list defines)) "\n")
-                ;; variables
-                (mapconcat 'org-babel-C-var-to-C vars "\n")
-                ;; body
-                (if main-p
-                    (org-babel-C-ensure-main-wrap body)
-                  body) "\n") "\n")))
+    (org-babel-trim
+     (mapconcat 'identity
+		(list
+		 ;; includes
+		 (mapconcat
+		  (lambda (inc) (format "#include %s" inc))
+		  (if (listp includes) includes (list includes)) "\n")
+		 ;; defines
+		 (mapconcat
+		  (lambda (inc) (format "#define %s" inc))
+		  (if (listp defines) defines (list defines)) "\n")
+		 ;; variables
+		 (mapconcat 'org-babel-C-var-to-C vars "\n")
+		 ;; body
+		 (if main-p
+		     (org-babel-C-ensure-main-wrap body)
+		   body) "\n") "\n"))))
 
 (defun org-babel-C-ensure-main-wrap (body)
   "Wrap body in a \"main\" function call if none exists."

+ 19 - 7
lisp/org-agenda.el

@@ -1335,6 +1335,11 @@ the headline/diary entry."
 	  (const :tag "Never" nil)
 	  (const :tag "When at beginning of entry" beg)))
 
+(defcustom org-agenda-remove-timeranges-from-blocks nil
+  "Non-nil means remove time ranges specifications in agenda
+items that span on several days."
+  :group 'org-agenda-line-format
+  :type 'boolean)
 
 (defcustom org-agenda-default-appointment-duration nil
   "Default duration for appointments that only have a starting time.
@@ -4790,13 +4795,20 @@ FRACTION is what fraction of the head-warning time has passed."
 		(setq tags (org-get-tags-at))
 		(looking-at "\\*+[ \t]+\\([^\r\n]+\\)")
 		(setq head (match-string 1))
-		(setq txt (org-format-agenda-item
-			   (format
-			    (nth (if (= d1 d2) 0 1)
-				 org-agenda-timerange-leaders)
-			    (1+ (- d0 d1)) (1+ (- d2 d1)))
-			   head category tags
-			   timestr)))
+		(let ((remove-re
+		       (if org-agenda-remove-timeranges-from-blocks
+			   (concat
+			    "<" (regexp-quote s1) ".*?>"
+			    "--"
+			    "<" (regexp-quote s2) ".*?>")
+			 nil)))
+		  (setq txt (org-format-agenda-item
+			     (format
+			      (nth (if (= d1 d2) 0 1)
+				   org-agenda-timerange-leaders)
+			      (1+ (- d0 d1)) (1+ (- d2 d1)))
+			     head category tags
+			     timestr nil remove-re))))
 	      (org-add-props txt props
 		'org-marker marker 'org-hd-marker hdmarker
 		'type "block" 'date date

+ 16 - 16
lisp/org-list.el

@@ -1289,22 +1289,22 @@ this list."
 	   txt beg)
       (unless (fboundp transform)
 	(error "No such transformation function %s" transform))
-      (setq txt (funcall transform list))
-      ;; Find the insertion place
-      (save-excursion
-	(goto-char (point-min))
-	(unless (re-search-forward
-		 (concat "BEGIN RECEIVE ORGLST +" name "\\([ \t]\\|$\\)") nil t)
-	  (error "Don't know where to insert translated list"))
-	(goto-char (match-beginning 0))
-	(beginning-of-line 2)
-	(setq beg (point))
-	(unless (re-search-forward (concat "END RECEIVE ORGLST +" name) nil t)
-	  (error "Cannot find end of insertion region"))
-	(beginning-of-line 1)
-	(delete-region beg (point))
-	(goto-char beg)
-	(insert txt "\n"))
+      (let ((txt (funcall transform list)))
+	;; Find the insertion place
+	(save-excursion
+	  (goto-char (point-min))
+	  (unless (re-search-forward
+		   (concat "BEGIN RECEIVE ORGLST +" name "\\([ \t]\\|$\\)") nil t)
+	    (error "Don't know where to insert translated list"))
+	  (goto-char (match-beginning 0))
+	  (beginning-of-line 2)
+	  (setq beg (point))
+	  (unless (re-search-forward (concat "END RECEIVE ORGLST +" name) nil t)
+	    (error "Cannot find end of insertion region"))
+	  (beginning-of-line 1)
+	  (delete-region beg (point))
+	  (goto-char beg)
+	  (insert txt "\n")))
       (message "List converted and installed at receiver location"))))
 
 (defun org-list-to-generic (list params)