Store unexpanded filenames in list of agenda files.
This commit is contained in:
parent
66c72c809b
commit
8586c7f2ab
|
@ -1,3 +1,13 @@
|
||||||
|
2010-03-25 Mikael Fornius <mfo@abc.se>
|
||||||
|
|
||||||
|
* org.el (org-agenda-files): Typo.
|
||||||
|
(org-read-agenda-file-list): Add optional argument to help
|
||||||
|
`org-store-new-agenda-file-list' to remember un-expanded file
|
||||||
|
names. Expand file names relative to `org-directory'.
|
||||||
|
(org-store-new-agenda-file-list): Keep un-expanded file names when
|
||||||
|
saving, if available.
|
||||||
|
(org-agenda-files): Update documentation.
|
||||||
|
|
||||||
2010-03-25 Carsten Dominik <carsten.dominik@gmail.com>
|
2010-03-25 Carsten Dominik <carsten.dominik@gmail.com>
|
||||||
|
|
||||||
* org-ascii.el (org-export-as-ascii): Catch the case of exporting
|
* org-ascii.el (org-export-as-ascii): Catch the case of exporting
|
||||||
|
|
36
lisp/org.el
36
lisp/org.el
|
@ -2780,7 +2780,9 @@ If an entry is a directory, all files in that directory that are matched by
|
||||||
|
|
||||||
If the value of the variable is not a list but a single file name, then
|
If the value of the variable is not a list but a single file name, then
|
||||||
the list of agenda files is actually stored and maintained in that file, one
|
the list of agenda files is actually stored and maintained in that file, one
|
||||||
agenda file per line."
|
agenda file per line. In this file paths can be given relative to
|
||||||
|
`org-directory'. Tilde expansion and environment variable substitution
|
||||||
|
are also made."
|
||||||
:group 'org-agenda
|
:group 'org-agenda
|
||||||
:type '(choice
|
:type '(choice
|
||||||
(repeat :tag "List of files and directories" file)
|
(repeat :tag "List of files and directories" file)
|
||||||
|
@ -14641,7 +14643,7 @@ If EXCLUDE-TMP is non-nil, ignore temporary buffers."
|
||||||
"Get the list of agenda files.
|
"Get the list of agenda files.
|
||||||
Optional UNRESTRICTED means return the full list even if a restriction
|
Optional UNRESTRICTED means return the full list even if a restriction
|
||||||
is currently in place.
|
is currently in place.
|
||||||
When ARCHIVES is t, include all archive files hat are really being
|
When ARCHIVES is t, include all archive files that are really being
|
||||||
used by the agenda files. If ARCHIVE is `ifmode', do this only if
|
used by the agenda files. If ARCHIVE is `ifmode', do this only if
|
||||||
`org-agenda-archives-mode' is t."
|
`org-agenda-archives-mode' is t."
|
||||||
(let ((files
|
(let ((files
|
||||||
|
@ -14694,17 +14696,28 @@ the buffer and restores the previous window configuration."
|
||||||
(defun org-store-new-agenda-file-list (list)
|
(defun org-store-new-agenda-file-list (list)
|
||||||
"Set new value for the agenda file list and save it correctly."
|
"Set new value for the agenda file list and save it correctly."
|
||||||
(if (stringp org-agenda-files)
|
(if (stringp org-agenda-files)
|
||||||
(let ((f org-agenda-files) b)
|
(let ((fe (org-read-agenda-file-list t)) b u)
|
||||||
(while (setq b (find-buffer-visiting f)) (kill-buffer b))
|
(while (setq b (find-buffer-visiting org-agenda-files))
|
||||||
(with-temp-file f
|
(kill-buffer b))
|
||||||
(insert (mapconcat 'identity list "\n") "\n")))
|
(with-temp-file org-agenda-files
|
||||||
|
(insert
|
||||||
|
(mapconcat
|
||||||
|
(lambda (f) ;; Keep un-expanded entries.
|
||||||
|
(if (setq u (assoc f fe))
|
||||||
|
(cdr u)
|
||||||
|
f))
|
||||||
|
list "\n")
|
||||||
|
"\n")))
|
||||||
(let ((org-mode-hook nil) (org-inhibit-startup t)
|
(let ((org-mode-hook nil) (org-inhibit-startup t)
|
||||||
(org-insert-mode-line-in-empty-file nil))
|
(org-insert-mode-line-in-empty-file nil))
|
||||||
(setq org-agenda-files list)
|
(setq org-agenda-files list)
|
||||||
(customize-save-variable 'org-agenda-files org-agenda-files))))
|
(customize-save-variable 'org-agenda-files org-agenda-files))))
|
||||||
|
|
||||||
(defun org-read-agenda-file-list ()
|
(defun org-read-agenda-file-list (&optional pair-with-expansion)
|
||||||
"Read the list of agenda files from a file."
|
"Read the list of agenda files from a file.
|
||||||
|
If PAIR-WITH-EXPANSION is t return pairs with un-expanded
|
||||||
|
filenames, used by `org-store-new-agenda-file-list' to write back
|
||||||
|
un-expanded file names."
|
||||||
(when (file-directory-p org-agenda-files)
|
(when (file-directory-p org-agenda-files)
|
||||||
(error "`org-agenda-files' cannot be a single directory"))
|
(error "`org-agenda-files' cannot be a single directory"))
|
||||||
(when (stringp org-agenda-files)
|
(when (stringp org-agenda-files)
|
||||||
|
@ -14712,8 +14725,11 @@ the buffer and restores the previous window configuration."
|
||||||
(insert-file-contents org-agenda-files)
|
(insert-file-contents org-agenda-files)
|
||||||
(mapcar
|
(mapcar
|
||||||
(lambda (f)
|
(lambda (f)
|
||||||
(expand-file-name (substitute-in-file-name f)
|
(let ((e (expand-file-name (substitute-in-file-name f)
|
||||||
(file-name-directory org-agenda-files)))
|
org-directory)))
|
||||||
|
(if pair-with-expansion
|
||||||
|
(cons e f)
|
||||||
|
e)))
|
||||||
(org-split-string (buffer-string) "[ \t\r\n]*?[\r\n][ \t\r\n]*")))))
|
(org-split-string (buffer-string) "[ \t\r\n]*?[\r\n][ \t\r\n]*")))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
|
Loading…
Reference in New Issue