Mercurial > emacs
view lisp/org/org-mew.el @ 100448:cea079b68b76
2008-12-16 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-refile): Avoid refiling to within the region to be
refiled.
* org-export-latex.el (org-export-latex-special-chars): Replace
special characters also in tables.
* org-agenda.el (org-agenda-change-all-lines): New argument
FORCE-TAGS.
(org-agenda-set-tags): Cet the new tags and pas them to
`org-format-agenda-item'.
2008-12-16 Carsten Dominik <carsten.dominik@gmail.com>
* org-export-latex.el (org-export-latex-classes): Add longable as
a default package to all classes.
(org-export-latex-tables): Handle the longtable attribute and the
align attribute.
* org-table.el (orgtbl-to-generic): Handle tables that start with
a hline.
* org-export-latex.el (org-export-latex-emphasis-alist): Switch to
\verb for colde-like snippets.
(org-export-as-latex): Fix issues with region export.
* org.el (org-up-heading-safe): Speed up function by using a
direct regexp search.
(org-olpa): New variable.
(org-get-outline-path): Speed-up path constructions in cases where
this is possible because the entire hierarchy is scanned anyway.
(org-refile-get-location): Don't compare the truenames of files,
this is too slow.
(org-goto-max-level): New option.
(org-goto): Use `org-goto-max-level'.
2008-12-16 Tassilo Horn <tassilo@member.fsf.org>
* org-gnus.el (org-gnus-article-link, org-gnus-article-link):
Strip angle brackets from message-ids in the former and don't do
it in the latter.
(org-gnus-follow-link): Open summary reliable, even if the last
messages were deleted, and handle empty groups, too.
2008-12-16 Carsten Dominik <carsten.dominik@gmail.com>
* org-export-latex.el (org-export-latex-emphasis-alist): Use \verb
instead of \texttt for the =...= and ~===~ emphasis environments.
(org-export-as-latex): Remove any old :org-license-to-kill text
properties.
(org-export-as-latex): Pass RBEG to `org-export-latex-first-lines'.
(org-export-latex-make-header): Add some hard space after the
table of contents.
(org-export-latex-first-lines): Accept RBEG argument. Mark
exported text so that it will be excuded in further steps.
* org-table.el (org-table-get-specials): Make @0 reference the
last line in a table.
(org-table-recalculate): Improve docstring.
2008-12-16 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-log-done): Fix docstring.
2008-12-16 Carsten Dominik <carsten.dominik@gmail.com>
* org-exp.el (org-export-html-format-image): Fix bugs.
* org-export-latex.el (org-export-latex-tables)
(org-export-latex-links): Implement attribute, label, and caption
handling.
* org-exp.el (org-export-html-style-default): Add style
definitions for the figure div.
(org-export-preprocess-string, org-export-as-html): Implement
attribute, label, and caption handling.
(org-export-attach-captions-and-attributes): New function.
(org-export-html-format-image): New function.
(org-format-org-table-html): Implement attribute, label, and
caption handling.
* org.el (org-find-text-property-in-string): New function.
(org-extract-attributes): Use the property org-attr instead of
org-attrobutes, because this property is now set with the #+ATTR
lines.
2008-12-16 Carsten Dominik <carsten.dominik@gmail.com>
* org-compat.el (org-substring-no-properties): Fix for XEmacs, for
the case that FROM is nil.
* org.el (org-before-first-heading-p): New function.
2008-12-16 Carsten Dominik <carsten.dominik@gmail.com>
* org-exp.el (org-export-as-html): Do not add a space before
enforces line breaks.
(org-export-as-html): Close paragraph before blockquote and verse
tags.
2008-12-16 Carsten Dominik <carsten.dominik@gmail.com>
* org-id.el (org-id-locations-file): Wrap file name with
`convert-standard-filename'.
(org-id-files): New variable.
(org-id-use-hash): New option.
(org-id-update-id-locations): Also search in all files current
listed in `org-id-files'. Convert the resulting alist to a hash
if the user customation says so.
(org-id-locations-save): Handle he case if `org-id-locations' is a
hash.
(org-id-locations-load): Convert the alist to a hash.
(org-id-add-location): Handle the hast case.
(kill-emacs-hook): Make sure id locations are saved when Emacs is
exited.
(org-id-hash-to-alist, org-id-alist-to-hash)
(org-id-paste-tracker): New functions.
author | Carsten Dominik <dominik@science.uva.nl> |
---|---|
date | Tue, 16 Dec 2008 13:28:37 +0000 |
parents | c851df8e004e |
children | ba23e35d3eaf |
line wrap: on
line source
;;; org-mew.el --- Support for links to Mew messages from within Org-mode ;; Copyright (C) 2008 Free Software Foundation, Inc. ;; Author: Tokuya Kameshima <kames at fa2 dot so-net dot ne dot jp> ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org ;; Version: 6.15a ;; This file is part of GNU Emacs. ;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;; Commentary: ;; This file implements links to Mew messages from within Org-mode. ;; Org-mode loads this module by default - if this is not what you want, ;; configure the variable `org-modules'. ;;; Code: (require 'org) (defgroup org-mew nil "Options concerning the Mew link." :tag "Org Startup" :group 'org-link) (defcustom org-mew-link-to-refile-destination t "Create a link to the refile destination if the message is marked as refile." :group 'org-mew :type 'boolean) ;; Declare external functions and variables (declare-function mew-cache-hit "ext:mew-cache" (fld msg &optional must-hit)) (declare-function mew-case-folder "ext:mew-func" (case folder)) (declare-function mew-header-get-value "ext:mew-header" (field &optional as-list)) (declare-function mew-init "ext:mew" ()) (declare-function mew-refile-get "ext:mew-refile" (msg)) (declare-function mew-sinfo-get-case "ext:mew-summary" ()) (declare-function mew-summary-display "ext:mew-summary2" (&optional redisplay)) (declare-function mew-summary-folder-name "ext:mew-syntax" (&optional ext)) (declare-function mew-summary-get-mark "ext:mew-mark" ()) (declare-function mew-summary-message-number2 "ext:mew-syntax" ()) (declare-function mew-summary-pick-with-mewl "ext:mew-pick" (pattern folder src-msgs)) (declare-function mew-summary-search-msg "ext:mew-const" (msg)) (declare-function mew-summary-set-message-buffer "ext:mew-summary3" (fld msg)) (declare-function mew-summary-visit-folder "ext:mew-summary4" (folder &optional goend no-ls)) (declare-function mew-window-push "ext:mew" ()) (defvar mew-init-p) (defvar mew-summary-goto-line-then-display) ;; Install the link type (org-add-link-type "mew" 'org-mew-open) (add-hook 'org-store-link-functions 'org-mew-store-link) ;; Implementation (defun org-mew-store-link () "Store a link to a Mew folder or message." (when (memq major-mode '(mew-summary-mode mew-virtual-mode)) (let* ((msgnum (mew-summary-message-number2)) (mark-info (mew-summary-get-mark)) (folder-name (if (and org-mew-link-to-refile-destination (eq mark-info ?o)) ; marked as refile (mew-case-folder (mew-sinfo-get-case) (nth 1 (mew-refile-get msgnum))) (mew-summary-folder-name))) message-id from to subject desc link) (save-window-excursion (if (fboundp 'mew-summary-set-message-buffer) (mew-summary-set-message-buffer folder-name msgnum) (set-buffer (mew-cache-hit folder-name msgnum t))) (setq message-id (mew-header-get-value "Message-Id:")) (setq from (mew-header-get-value "From:")) (setq to (mew-header-get-value "To:")) (setq subject (mew-header-get-value "Subject:"))) (org-store-link-props :type "mew" :from from :to to :subject subject :message-id message-id) (setq message-id (org-remove-angle-brackets message-id)) (setq desc (org-email-link-description)) (setq link (org-make-link "mew:" folder-name "#" message-id)) (org-add-link-props :link link :description desc) link))) (defun org-mew-open (path) "Follow the Mew message link specified by PATH." (let (folder msgnum) (cond ((string-match "\\`\\(+.*\\)+\\+\\([0-9]+\\)\\'" path) ; for Bastien's (setq folder (match-string 1 path)) (setq msgnum (match-string 2 path))) ((string-match "\\`\\(\\(%#\\)?[^#]+\\)\\(#\\(.*\\)\\)?" path) (setq folder (match-string 1 path)) (setq msgnum (match-string 4 path))) (t (error "Error in Mew link"))) (require 'mew) (mew-window-push) (unless mew-init-p (mew-init)) (mew-summary-visit-folder folder) (when msgnum (if (not (string-match "\\`[0-9]+\\'" msgnum)) (let* ((pattern (concat "message-id=" msgnum)) (msgs (mew-summary-pick-with-mewl pattern folder nil))) (setq msgnum (car msgs)))) (if (mew-summary-search-msg msgnum) (if mew-summary-goto-line-then-display (mew-summary-display)) (error "Message not found"))))) (provide 'org-mew) ;; arch-tag: 07ccdca7-6020-4941-a593-588a1e51b870 ;;; org-mew.el ends here