(org-set-regexps-and-options, org-get-current-options):

Better names for the startup folding options.
This commit is contained in:
Carsten Dominik
2006-04-13 13:48:37 +00:00
parent 1867d8cbc5
commit 2a94e282e2

View File

@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <dominik at science dot uva dot nl>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
;; Version: 4.22
;; Version: 4.23
;;
;; This file is part of GNU Emacs.
;;
@@ -81,6 +81,9 @@
;;
;; Changes since version 4.00:
;; ---------------------------
;; Version 4.23
;; - Bug fixes.
;;
;; Version 4.22
;; - Bug fixes.
;; - In agenda buffer, mouse-1 no longer follows link.
@@ -2181,7 +2184,9 @@ Changing this variable requires a restart of Emacs to take effect."
((equal key "STARTUP")
(let ((opts (org-split-string value splitre))
(set '(("fold" org-startup-folded t)
("overview" org-startup-folded t)
("nofold" org-startup-folded nil)
("showall" org-startup-folded nil)
("content" org-startup-folded content)
("hidestars" org-hide-leading-stars t)
("showstars" org-hide-leading-stars nil)
@@ -7690,6 +7695,28 @@ folders."
(kill-this-buffer)
(error "Message not found"))))
(defun org-upgrade-old-links (&optional query-description)
"Transfer old <...> style links to new [[...]] style links.
With arg query-description, ask at each match for a description text to use
for this link."
(interactive (list (y-or-n-p "Would you like to be queried for a description at each link?")))
(save-excursion
(goto-char (point-min))
(let ((re (concat "\\([^[]\\)<\\("
"\\(" (mapconcat 'identity org-link-types "\\|")
"\\):"
"[^" org-non-link-chars "]+\\)>"))
l1 l2 (cnt 0))
(while (re-search-forward re nil t)
(setq cnt (1+ cnt)
l1 (org-match-string-no-properties 2)
l2 (save-match-data (org-link-escape l1)))
(when query-description (setq l1 (read-string "Desc: " l1)))
(if (equal l1 l2)
(replace-match (concat (match-string 1) "[[" l1 "]]") t t)
(replace-match (concat (match-string 1) "[[" l2 "][" l1 "]]") t t)))
(message "%d matches have beed treated" cnt))))
(defun org-open-file (path &optional in-emacs line search)
"Open the file at PATH.
First, this expands any special file name abbreviations. Then the
@@ -11397,7 +11424,7 @@ Does include HTML export options as well as TODO and CATEGORY stuff."
(mapconcat 'identity org-todo-keywords " ")
"Me Jason Marie DONE")
(cdr (assoc org-startup-folded
'((nil . "nofold")(t . "fold")(content . "content"))))
'((nil . "showall") (t . "overview") (content . "content"))))
(if org-startup-with-deadline-check "dlcheck" "nodlcheck")
(if org-odd-levels-only "odd" "oddeven")
(if org-hide-leading-stars "hidestars" "showstars")
@@ -12217,6 +12244,89 @@ file, but with extension `.ics'."
(interactive)
(org-export-icalendar nil buffer-file-name))
(defun org-export-as-xml ()
"Export current buffer as XOXO XML buffer."
(interactive)
(cond ((eq org-export-xml-type 'xoxo)
(org-export-as-xoxo (current-buffer)))))
(defun org-export-as-xoxo-insert-into (buffer &rest output)
(with-current-buffer buffer
(apply 'insert output)))
(defun org-export-as-xoxo (&optional buffer)
"Export the org buffer as XOXO.
The XOXO buffer is named *xoxo-<source buffer name>*"
(interactive (list (current-buffer)))
;; A quickie abstraction
;; Output everything as XOXO
(with-current-buffer (get-buffer buffer)
(goto-char (point-min)) ;; CD: beginning-of-buffer is not allowed.
(let* ((filename (concat (file-name-sans-extension buffer-file-name)
".xml"))
(out (find-file-noselect filename))
(last-level 1)
(hanging-li nil))
;; Check the output buffer is empty.
(with-current-buffer out (erase-buffer))
;; Kick off the output
(org-export-as-xoxo-insert-into out "<ol class='xoxo'>\n")
(while (re-search-forward "^\\(\\*+\\) \\(.+\\)" (point-max) 't)
(let* ((hd (match-string-no-properties 1))
(level (length hd))
(text (concat
(match-string-no-properties 2)
(save-excursion
(goto-char (match-end 0))
(let ((str ""))
(catch 'loop
(while 't
(forward-line)
(if (looking-at "^[ \t]\\(.*\\)")
(setq str (concat str (match-string-no-properties 1)))
(throw 'loop str)))))))))
;; Handle level rendering
(cond
((> level last-level)
(org-export-as-xoxo-insert-into out "\n<ol>\n"))
((< level last-level)
(dotimes (- (- last-level level) 1)
(if hanging-li
(org-export-as-xoxo-insert-into out "</li>\n"))
(org-export-as-xoxo-insert-into out "</ol>\n"))
(when hanging-li
(org-export-as-xoxo-insert-into out "</li>\n")
(setq hanging-li nil)))
((equal level last-level)
(if hanging-li
(org-export-as-xoxo-insert-into out "</li>\n")))
)
(setq last-level level)
;; And output the new li
(setq hanging-li 't)
(if (equal ?+ (elt text 0))
(org-export-as-xoxo-insert-into out "<li class='" (substring text 1) "'>")
(org-export-as-xoxo-insert-into out "<li>" text))))
;; Finally finish off the ol
(dotimes (- last-level 1)
(if hanging-li
(org-export-as-xoxo-insert-into out "</li>\n"))
(org-export-as-xoxo-insert-into out "</ol>\n"))
;; Finish the buffer off and clean it up.
(switch-to-buffer-other-window out)
(indent-region (point-min) (point-max))
(save-buffer)
(goto-char (point-min))
)))
;;;###autoload
(defun org-export-icalendar-all-agenda-files ()
"Export all files in `org-agenda-files' to iCalendar .ics files.
@@ -12782,8 +12892,7 @@ This command does many different things, depending on context:
the entire table.
- If the cursor is inside a table created by the table.el package,
activate that table. Otherwise, if the cursor is at a normal table
created with org.el, re-align that table.
activate that table.
- If the current buffer is a remember buffer, close note and file it.
with a prefix argument, file it without further interaction to the default
@@ -13407,7 +13516,6 @@ Show the heading too, if it is currently invisible."
(or (match-beginning 1) (point-max)))
(if org-noutline-p nil ?\n))))
(defun org-make-options-regexp (kwds)
"Make a regular expression for keyword lines."
(concat
@@ -13441,115 +13549,6 @@ Show the heading too, if it is currently invisible."
(run-hooks 'org-load-hook)
;; Experimental code
;; FIXME: Move this code when it is ready.
(defun org-upgrade-old-links (&optional query-description)
"Transfer old <...> style links to new [[...]] style links.
With arg query-description, ask at each match for a description text to use
for this link."
(interactive (list (y-or-n-p "Would you like to be queried for a description at each link?")))
(save-excursion
(goto-char (point-min))
(let ((re (concat "\\([^[]\\)<\\("
"\\(" (mapconcat 'identity org-link-types "\\|")
"\\):"
"[^" org-non-link-chars "]+\\)>"))
l1 l2 (cnt 0))
(while (re-search-forward re nil t)
(setq cnt (1+ cnt)
l1 (org-match-string-no-properties 2)
l2 (save-match-data (org-link-escape l1)))
(when query-description (setq l1 (read-string "Desc: " l1)))
(if (equal l1 l2)
(replace-match (concat (match-string 1) "[[" l1 "]]") t t)
(replace-match (concat (match-string 1) "[[" l2 "][" l1 "]]") t t)))
(message "%d matches have beed treated" cnt))))
(defun org-export-as-xml ()
"Export current buffer as XOXO XML buffer."
(interactive)
(cond ((eq org-export-xml-type 'xoxo)
(org-export-as-xoxo (current-buffer)))))
(defun org-export-as-xoxo-insert-into (buffer &rest output)
(with-current-buffer buffer
(apply 'insert output)))
(defun org-export-as-xoxo (&optional buffer)
"Export the org buffer as XOXO.
The XOXO buffer is named *xoxo-<source buffer name>*"
(interactive (list (current-buffer)))
;; A quickie abstraction
;; Output everything as XOXO
(with-current-buffer (get-buffer buffer)
(goto-char (point-min)) ;; CD: beginning-of-buffer is not allowed.
(let* ((filename (concat (file-name-sans-extension buffer-file-name)
".xml"))
(out (find-file-noselect filename))
(last-level 1)
(hanging-li nil))
;; Check the output buffer is empty.
(with-current-buffer out (erase-buffer))
;; Kick off the output
(org-export-as-xoxo-insert-into out "<ol class='xoxo'>\n")
(while (re-search-forward "^\\(\\*+\\) \\(.+\\)" (point-max) 't)
(let* ((hd (match-string-no-properties 1))
(level (length hd))
(text (concat
(match-string-no-properties 2)
(save-excursion
(goto-char (match-end 0))
(let ((str ""))
(catch 'loop
(while 't
(forward-line)
(if (looking-at "^[ \t]\\(.*\\)")
(setq str (concat str (match-string-no-properties 1)))
(throw 'loop str)))))))))
;; Handle level rendering
(cond
((> level last-level)
(org-export-as-xoxo-insert-into out "\n<ol>\n"))
((< level last-level)
(dotimes (- (- last-level level) 1)
(if hanging-li
(org-export-as-xoxo-insert-into out "</li>\n"))
(org-export-as-xoxo-insert-into out "</ol>\n"))
(when hanging-li
(org-export-as-xoxo-insert-into out "</li>\n")
(setq hanging-li nil)))
((equal level last-level)
(if hanging-li
(org-export-as-xoxo-insert-into out "</li>\n")))
)
(setq last-level level)
;; And output the new li
(setq hanging-li 't)
(if (equal ?+ (elt text 0))
(org-export-as-xoxo-insert-into out "<li class='" (substring text 1) "'>")
(org-export-as-xoxo-insert-into out "<li>" text))))
;; Finally finish off the ol
(dotimes (- last-level 1)
(if hanging-li
(org-export-as-xoxo-insert-into out "</li>\n"))
(org-export-as-xoxo-insert-into out "</ol>\n"))
;; Finish the buffer off and clean it up.
(switch-to-buffer-other-window out)
(indent-region (point-min) (point-max))
(save-buffer)
(goto-char (point-min))
)))
;; arch-tag: e77da1a7-acc7-4336-b19e-efa25af3f9fd
;;; org.el ends here