Commit fdf730ed authored by Carsten Dominik's avatar Carsten Dominik
Browse files

2008-12-20 Carsten Dominik <carsten.dominik@gmail.com>

	* org.el (org-get-refile-targets, org-refile-get-location): Use
	expanded file name to improve comparison.

2008-12-20  Carsten Dominik  <carsten.dominik@gmail.com>

	* org.el (org-scan-tags): Rescan for tags, to get the correct
	upcase/downcase stuff.  This slows things down for now, but it
	works.
	(org-mode): Make sure the tag-faces regexp is initialized.

	* org-export-latex.el (org-export-latex-links): Fix bug with
	undefined label.

	* org-table.el (org-table-get-specials): Set
	`org-table-current-last-data-line'.
	(org-table-current-last-data-line): New variable.
	(org-table-insert-column, org-table-delete-column)
	(org-table-move-column, org-table-fix-formulas): Call
	`org-table-fix-formulas' a second time to fix the $LR references.
	(org-table-get-specials): Add the $LR references to the tables.
	(org-table-get-formula): Do not offer last-row names as LHS of
	formulas.

	* org.el (org-store-link): Capture link description from
	`org-id-store-link'.

	* org-exp.el (org-export-html-format-image): Add the / to the end
	of the <img> tag.
	(org-export-format-source-code): Surround example by empty lines,
	to make sure it will not be inside a paragraph.

	* org.el (org-ido-switchb): New function.

2008-12-20  Carsten Dominik  <carsten.dominik@gmail.com>

	* org-agenda.el (org-agenda-show): New prefix argument
	FULL-ENTRY.

	* org.el (org-sort-entries-or-items): Add a COMPARE-FUNC
	argument.
parent a11ac4ae
......@@ -6,7 +6,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......@@ -4945,11 +4945,16 @@ If this information is not given, the function uses the tree at point."
(mouse-set-point ev)
(org-agenda-goto))
(defun org-agenda-show ()
"Display the Org-mode file which contains the item at point."
(interactive)
(defun org-agenda-show (&optional full-entry)
"Display the Org-mode file which contains the item at point.
With prefix argument FULL-ENTRY, make the entire entry visible
if it was hidden in the outline."
(interactive "P")
(let ((win (selected-window)))
(org-agenda-goto t)
(if full-entry
(let ((org-show-entry-below t))
(org-agenda-goto t))
(org-agenda-goto t))
(select-window win)))
(defun org-agenda-recenter (arg)
......@@ -5079,12 +5084,10 @@ If JUST-THIS is non-nil, change just the current line, not all.
If FORCE-TAGS is non nil, the car of it returns the new tags."
(let* ((inhibit-read-only t)
(line (org-current-line))
(thetags
(and hdmarker (markerp hdmarker)
(with-current-buffer (marker-buffer hdmarker)
(thetags (with-current-buffer (marker-buffer hdmarker)
(save-excursion (save-restriction (widen)
(goto-char hdmarker)
(org-get-tags-at))))))
(org-get-tags-at)))))
props m pl undone-face done-face finish new dotime cat tags)
(save-excursion
(goto-char (point-max))
......
......@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -4,7 +4,7 @@
;; Author: John Wiegley <johnw@newartisans.com>
;; Keywords: org data task
;; Version: 6.15d
;; Version: 6.16
;; This file is part of GNU Emacs.
;;
......
......@@ -6,7 +6,7 @@
;; Thomas Baumann <thomas dot baumann at ch dot tum dot de>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Bastien Guerry <bzg at altern dot org>
;; Carsten Dominik <carsten dot dominik at gmail dot com>
;; Keywords: org, wp, remember
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......@@ -2260,9 +2260,9 @@ backends, it converts the segment into an EXAMPLE segment."
(point-min) (point-max)))))
(if (string-match "<pre\\([^>]*\\)>\n?" htmltext)
(setq htmltext (replace-match
(format "<pre class=\"src src-%s\">" lang)
(format "<pre class=\"src src-%s\">\n" lang)
t t htmltext)))
(concat "#+BEGIN_HTML\n" htmltext "\n#+END_HTML\n"))))
(concat "\n#+BEGIN_HTML\n" htmltext "\n#+END_HTML\n\n"))))
(t
;; This is not HTML, so just make it an example.
(when (equal lang "org")
......@@ -3716,7 +3716,7 @@ lang=\"%s\" xml:lang=\"%s\">
(attr (org-find-text-property-in-string 'org-attributes src))
(label (org-find-text-property-in-string 'org-label src)))
(format "<div %sclass=\"figure\">
<p><img src=\"%s\"%s></p>%s
<p><img src=\"%s\"%s /></p>%s
</div>"
(if label (format "id=\"%s\" " label) "")
src
......
......@@ -4,7 +4,7 @@
;;
;; Emacs Lisp Archive Entry
;; Filename: org-export-latex.el
;; Version: 6.15d
;; Version: 6.16
;; Author: Bastien Guerry <bzg AT altern DOT org>
;; Maintainer: Bastien Guerry <bzg AT altern DOT org>
;; Keywords: org, wp, tex
......@@ -1207,7 +1207,7 @@ If TIMESTAMPS, convert timestamps, otherwise delete them."
(expand-file-name raw-path))
(if floatp
(format "\\caption{%s%s}\n"
(if label (concat "\\label{" label "}"))
(if label (concat "\\label{" label "}") "")
(or caption "")))
(if floatp "\\end{figure}\n"))))
(radiop (insert (format "\\hyperref[%s]{%s}"
......
......@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -6,7 +6,7 @@
;; Tassilo Horn <tassilo at member dot fsf dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -4,7 +4,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -4,7 +4,7 @@
;;
;; Author: Philip Jackson <emacs@shellarchive.co.uk>
;; Keywords: erc, irc, link, org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -6,7 +6,7 @@
;; Bastien Guerry <bzg AT altern DOT org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -3,7 +3,7 @@
;; Copyright (C) 2008 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;; Version: 6.15d
;; Version: 6.16
;; Keywords: outlines, hypermedia, calendar, wp
;; This file is part of GNU Emacs.
......
......@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Tokuya Kameshima <kames at fa2 dot so-net dot ne dot jp>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;; This file is part of GNU Emacs.
......
......@@ -5,7 +5,7 @@
;; Author: Thomas Baumann <thomas dot baumann at ch dot tum dot de>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -4,7 +4,7 @@
;;
;; Author: Piotr Zielinski <piotr dot zielinski at gmail dot com>
;; Maintainer: Carsten Dominik <carsten at orgmode dot org>
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Eric Schulte <schulte dot eric at gmail dot com>
;; Keywords: tables, plotting
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -4,7 +4,7 @@
;; Author: David O'Toole <dto@gnu.org>
;; Maintainer: Bastien Guerry <bzg AT altern DOT org>
;; Keywords: hypermedia, outlines, wp
;; Version: 6.15d
;; Version: 6.16
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......@@ -1060,7 +1060,8 @@ However, when FORCE is non-nil, create new columns if necessary."
(goto-line linepos)
(org-table-goto-column colpos)
(org-table-align)
(org-table-fix-formulas "$" nil (1- col) 1)))
(org-table-fix-formulas "$" nil (1- col) 1)
(org-table-fix-formulas "$LR" nil (1- col) 1)))
(defun org-table-find-dataline ()
"Find a dataline in the current table, which is needed for column commands."
......@@ -1107,6 +1108,8 @@ However, when FORCE is non-nil, create new columns if necessary."
(org-table-goto-column colpos)
(org-table-align)
(org-table-fix-formulas "$" (list (cons (number-to-string col) "INVALID"))
col -1 col)
(org-table-fix-formulas "$LR" (list (cons (number-to-string col) "INVALID"))
col -1 col)))
(defun org-table-move-column-right ()
......@@ -1150,7 +1153,10 @@ However, when FORCE is non-nil, create new columns if necessary."
(org-table-align)
(org-table-fix-formulas
"$" (list (cons (number-to-string col) (number-to-string colpos))
(cons (number-to-string colpos) (number-to-string col))))))
(cons (number-to-string colpos) (number-to-string col))))
(org-table-fix-formulas
"$LR" (list (cons (number-to-string col) (number-to-string colpos))
(cons (number-to-string colpos) (number-to-string col))))))
(defun org-table-move-row-down ()
"Move table row down."
......@@ -1717,7 +1723,9 @@ When NAMED is non-nil, look for a named equation."
(org-table-current-column)))
(refass (assoc ref stored-list))
(scol (if named
(if name name ref)
(if (and name (not (string-match "^LR[0-9]+$" name)))
name
ref)
(int-to-string (org-table-current-column))))
(dummy (and (or name refass) (not named)
(not (y-or-n-p "Replace field formula with column formula? " ))
......@@ -1826,8 +1834,9 @@ For all numbers larger than LIMIT, shift them by DELTA."
(let ((re (concat key "\\([0-9]+\\)"))
(re2
(when remove
(if (equal key "$")
(format "\\(@[0-9]+\\)?\\$%d=.*?\\(::\\|$\\)" remove)
(if (or (equal key "$") (equal key "$LR"))
(format "\\(@[0-9]+\\)?%s%d=.*?\\(::\\|$\\)"
(regexp-quote key) remove)
(format "@%d\\$[0-9]+=.*?\\(::\\|$\\)" remove))))
s n a)
(when remove
......@@ -1846,7 +1855,7 @@ For all numbers larger than LIMIT, shift them by DELTA."
(save-excursion
(let ((beg (org-table-begin)) (end (org-table-end))
names name fields fields1 field cnt
c v l line col types dlines hlines)
c v l line col types dlines hlines last-dline)
(setq org-table-column-names nil
org-table-local-parameters nil
org-table-named-field-locations nil
......@@ -1897,8 +1906,24 @@ For all numbers larger than LIMIT, shift them by DELTA."
(beginning-of-line 2)
(setq l (1+ l)))
(setq org-table-current-line-types (apply 'vector (nreverse types))
last-dline (car dlines)
org-table-dlines (apply 'vector (cons nil (nreverse dlines)))
org-table-hlines (apply 'vector (cons nil (nreverse hlines)))))))
org-table-hlines (apply 'vector (cons nil (nreverse hlines))))
(goto-line last-dline)
(let* ((l last-dline)
(fields (org-split-string
(buffer-substring (point-at-bol) (point-at-eol))
"|"))
(nfields (length fields))
al al2)
(loop for i from 1 to nfields do
(push (list (format "LR%d" i) l i) al)
(push (cons (format "LR%d" i) (nth (1- i) fields)) al2))
(setq org-table-named-field-locations
(append org-table-named-field-locations al))
(setq org-table-local-parameters
(append org-table-local-parameters al2))))))
(defun org-table-maybe-eval-formula ()
"Check if the current field starts with \"=\" or \":=\".
......
......@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Andy Stewart <lazycat dot manatee at gmail dot com>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Tokuya Kameshima <kames at fa2 dot so-net dot ne dot jp>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......
......@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.15d
;; Version: 6.16
;;
;; This file is part of GNU Emacs.
;;
......@@ -92,7 +92,7 @@
;;; Version
(defconst org-version "6.15d"
(defconst org-version "6.16"
"The version number of the file org.el.")
(defun org-version (&optional here)
......@@ -1340,10 +1340,11 @@ are matched against file names, and values."
This is list of cons cells. Each cell contains:
- a specification of the files to be considered, either a list of files,
or a symbol whose function or variable value will be used to retrieve
a file name or a list of file names. Nil means, refile to a different
heading in the current buffer.
- A specification of how to find candidate refile targets. This may be
any of
a file name or a list of file names. If you use `org-agenda-files' for
that, all agenda files will be scanned for targets. Nil means, consider
headings in the current buffer.
- A specification of how to select find candidate refile targets. This
may be any of
- a cons cell (:tag . \"TAG\") to identify refile targets by a tag.
This tag has to be present in all target headlines, inheritance will
not be considered.
......@@ -3420,6 +3421,9 @@ The following commands are available:
(if (stringp org-ellipsis) org-ellipsis "..."))))
(setq buffer-display-table org-display-table))
(org-set-regexps-and-options)
(when (and org-tag-faces (not org-tags-special-faces-re))
;; tag faces set outside customize.... force initialization.
(org-set-tag-faces 'org-tag-faces org-tag-faces))
;; Calc embedded
(org-set-local 'calc-embedded-open-mode "# ")
(modify-syntax-entry ?# "<")
......@@ -5434,7 +5438,8 @@ Optional argument WITH-CASE means sort case-sensitively."
(defvar org-priority-regexp) ; defined later in the file
(defun org-sort-entries-or-items (&optional with-case sorting-type getkey-func property)
(defun org-sort-entries-or-items
(&optional with-case sorting-type getkey-func compare-func property)
"Sort entries on a certain level of an outline tree.
If there is an active region, the entries in the region are sorted.
Else, if the cursor is before the first entry, sort the top-level items.
......@@ -5614,6 +5619,7 @@ WITH-CASE, the sorting considers case as well."
(cond
((= dcst ?a) 'string<)
((= dcst ?t) 'time-less-p)
((= dcst ?f) compare-func)
(t nil)))))
(message "Sorting entries...done")))
......@@ -6267,7 +6273,9 @@ For file links, arg negates `org-context-in-file-links'."
(error nil)))))
;; We can make a link using the ID.
(setq link (condition-case nil
(org-id-store-link)
(prog1 (org-id-store-link)
(setq desc (plist-get org-store-link-plist
:description)))
(error
;; probably before first headline, link to file only
(concat "file:"
......@@ -7501,6 +7509,7 @@ on the system \"/user@host:\"."
(save-excursion
(set-buffer (if (bufferp f) f (org-get-agenda-file-buffer f)))
(if (bufferp f) (setq f (buffer-file-name (buffer-base-buffer f))))
(setq f (expand-file-name f))
(save-excursion
(save-restriction
(widen)
......@@ -7664,7 +7673,8 @@ operation has put the subtree."
'org-olpath-completing-read
'org-ido-completing-read))
(extra (if org-refile-use-outline-path "/" ""))
(filename (buffer-file-name (buffer-base-buffer cbuf)))
(filename (expand-file-name
(buffer-file-name (buffer-base-buffer cbuf))))
(tbl (mapcar
(lambda (x)
(if (not (equal filename (nth 1 x)))
......@@ -9205,7 +9215,7 @@ only lines with a TODO keyword are included in the output."
(if org-tags-match-list-sublevels
(make-string (1- level) ?.) "")
(org-get-heading))
category tags-list)
category (org-get-tags-at))
priority (org-get-priority txt))
(goto-char lspos)
(setq marker (org-agenda-new-marker))
......@@ -11863,6 +11873,20 @@ Due to some yet unresolved reason, the global function
"Switch-to: " nil t))
(or enabled (iswitchb-mode -1))))))
;;;###autoload
(defun org-ido-switchb (&optional arg)
"Use `org-ido-completing-read' to prompt for an Org buffer to switch to.
With a prefix argument, restrict available to files.
With two prefix arguments, restrict available buffers to agenda files."
(interactive "P")
(let ((blist (cond ((equal arg '(4)) (org-buffer-list 'files))
((equal arg '(16)) (org-buffer-list 'agenda))
(t (org-buffer-list)))))
(switch-to-buffer
(org-ido-completing-read "Org buffer: "
(mapcar 'buffer-name blist)
nil t))))
(defun org-buffer-list (&optional predicate exclude-tmp)
"Return a list of Org buffers.
PREDICATE can be `export', `files' or `agenda'.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment