ソースを参照

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

Christian Egli 12 年 前
コミット
aed8b7176f
2 ファイル変更25 行追加10 行削除
  1. 22 4
      lisp/org.el
  2. 3 6
      lisp/ox-html.el

+ 22 - 4
lisp/org.el

@@ -7495,6 +7495,7 @@ and create a new headline with the text in the current line after point
 When INVISIBLE-OK is set, stop at invisible headlines when going back.
 This is important for non-interactive uses of the command."
   (interactive "P")
+  (if (org-called-interactively-p 'any) (org-reveal))
   (cond
    ((or (= (buffer-size) 0)
 	(and (not (save-excursion
@@ -7551,7 +7552,7 @@ This is important for non-interactive uses of the command."
 	     (blank-a (cdr (assq 'heading org-blank-before-new-entry)))
 	     (blank (if (eq blank-a 'auto) empty-line-p blank-a))
 	     pos hide-previous previous-pos)
-	(if ;; At the beginning of a heading, open a new line for insertiong
+	(if ;; At the beginning of a heading, open a new line for insertion
 	    (and (bolp) (org-at-heading-p)
 		 (not eops)
 		 (or (bobp)
@@ -7580,7 +7581,10 @@ This is important for non-interactive uses of the command."
 	     ((and (not arg) (not on-heading) (not on-empty-line)
 		   (not (save-excursion
 			  (beginning-of-line 1)
-			  (looking-at org-list-full-item-re))))
+			  (or (looking-at org-list-full-item-re)
+			      ;; Don't convert :end: lines to headline
+			      (looking-at "^\\s-*:end:")
+			      (looking-at "^\\s-*#\\+end_?")))))
 	      (beginning-of-line 1))
 	     (org-insert-heading-respect-content
 	      (if (not eops)
@@ -16071,7 +16075,9 @@ So these are more for recording a certain time/date."
     (set-keymap-parent map minibuffer-local-map)
     (org-defkey map (kbd ".")
                 (lambda () (interactive)
-                  (org-eval-in-calendar '(calendar-goto-today))))
+		  (if (= (char-before) 32)
+		      (org-eval-in-calendar '(calendar-goto-today))
+		    (insert "."))))
     (org-defkey map [(meta shift left)]
                 (lambda () (interactive)
                   (org-eval-in-calendar '(calendar-backward-month 1))))
@@ -20576,9 +20582,10 @@ number of stars to add."
 Calls `org-insert-heading' or `org-table-wrap-region', depending on context.
 See the individual commands for more information."
   (interactive "P")
+  (org-check-before-invisible-edit 'insert)
   (cond
    ((run-hook-with-args-until-success 'org-metareturn-hook))
-   ((or (org-at-drawer-p) (org-at-property-p))
+   ((or (org-at-drawer-p) (org-in-drawer-p) (org-at-property-p))
     (newline-and-indent))
    ((org-at-table-p)
     (call-interactively 'org-table-wrap-region))
@@ -21542,6 +21549,17 @@ block from point."
 	      names))
       nil)))
 
+(defun org-in-drawer-p ()
+  "Is point within a drawer?"
+  (save-match-data
+    (let ((case-fold-search t)
+	  (lim-up (save-excursion (outline-previous-heading)))
+	  (lim-down (save-excursion (outline-next-heading))))
+      (org-between-regexps-p
+       (concat "^[ \t]*:" (regexp-opt org-drawers) ":")
+       "^[ \t]*:end:.*$"
+       lim-up lim-down))))
+
 (defun org-occur-in-agenda-files (regexp &optional nlines)
   "Call `multi-occur' with buffers for all agenda files."
   (interactive "sOrg-files matching: \np")

+ 3 - 6
lisp/ox-html.el

@@ -2521,7 +2521,7 @@ INFO is a plist holding contextual information.  See
 	 (type (org-element-property :type link))
 	 (raw-path (org-element-property :path link))
 	 ;; Ensure DESC really exists, or set it to nil.
-	 (desc (and (not (string= desc "")) desc))
+	 (desc (org-string-nw-p desc))
 	 (path
 	  (cond
 	   ((member type '("http" "https" "ftp" "mailto"))
@@ -2625,12 +2625,9 @@ INFO is a plist holding contextual information.  See
 		 ;; What description to use?
 		 (desc
 		  ;; Case 1: Headline is numbered and LINK has no
-		  ;; description or LINK's description matches
-		  ;; headline's title.  Display section number.
+		  ;; description.  Display section number.
 		  (if (and (org-export-numbered-headline-p destination info)
-			   (or (not desc)
-			       (string= desc (org-element-property
-					      :raw-value destination))))
+			   (not desc))
 		      (mapconcat 'number-to-string
 				 (org-export-get-headline-number
 				  destination info) ".")