From d389d8e9a98e1c97f7eeb7560576e3e6602aab05 Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Wed, 19 Nov 2008 11:20:04 +0100 Subject: [PATCH 1/4] changes --- ORGWEBPAGE/Changes.org | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/ORGWEBPAGE/Changes.org b/ORGWEBPAGE/Changes.org index ffd26cfb8..1126d5aac 100644 --- a/ORGWEBPAGE/Changes.org +++ b/ORGWEBPAGE/Changes.org @@ -11,11 +11,34 @@ #+LINK_HOME: http://orgmode.org -* Version 6.12 +* Version 6.13 :PROPERTIES: :VISIBILITY: content :END: +** Overview +** Details + +*** Keybinding in Remember buffers can be configured + Remember buffers are normally in Org-mode, which makes it + hard to configure key bindings without modifying the Org-mode + keymap. There is now a minor mode active in these buffers, + `org-remember-mode', and its keymap org-remember-mode-map can + be used for key bindings. By default, this map only contains + the bindings for =C-c C-c= to store the note, and =C-c C-k= + to abort it. Use `org-remember-mode-hook' to define your own + bindings like + +#+begin_src emacs-lisp +(add-hook + 'org-remember-mode-hook + (lambda () + (define-key org-remember-mode-map "\C-x\C-s" 'org-remember-finalize))) + +#+end_src + + +* Version 6.12 ** Overview - A region of entries can now be refiled with a single command From e33e0225d9834eee1f4deb6d57d60f211459e13e Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Wed, 19 Nov 2008 12:19:55 +0100 Subject: [PATCH 2/4] Fix typo. --- lisp/org-attach.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/org-attach.el b/lisp/org-attach.el index 71fead317..3ddf70c6a 100644 --- a/lisp/org-attach.el +++ b/lisp/org-attach.el @@ -155,7 +155,7 @@ If the directory does not exist and CREATE-IF-NOT-EXISTS-P is non-nil, the directory and the corresponding ID will be created." (when (and (not (buffer-file-name (buffer-base-buffer))) (not (file-name-absolute-p org-attach-directory))) - (error "Need absolute `org-attach-directory' to attach in bufers without filename.")) + (error "Need absolute `org-attach-directory' to attach in buffers without filename.")) (let ((uuid (org-id-get (point) create-if-not-exists-p))) (when (or uuid create-if-not-exists-p) (unless uuid From dda012aca546f56268d9a55c7699b92fa6f1d5be Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Wed, 19 Nov 2008 12:20:18 +0100 Subject: [PATCH 3/4] Update the list of user-visible changes. --- ORGWEBPAGE/Changes.org | 81 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 77 insertions(+), 4 deletions(-) diff --git a/ORGWEBPAGE/Changes.org b/ORGWEBPAGE/Changes.org index 1126d5aac..fdcdec375 100644 --- a/ORGWEBPAGE/Changes.org +++ b/ORGWEBPAGE/Changes.org @@ -11,7 +11,7 @@ #+LINK_HOME: http://orgmode.org -* Version 6.13 +* Version 6.13 (in preparation) :PROPERTIES: :VISIBILITY: content :END: @@ -19,7 +19,7 @@ ** Overview ** Details -*** Keybinding in Remember buffers can be configured +*** Keybindings in Remember buffers can be configured Remember buffers are normally in Org-mode, which makes it hard to configure key bindings without modifying the Org-mode keymap. There is now a minor mode active in these buffers, @@ -34,9 +34,82 @@ 'org-remember-mode-hook (lambda () (define-key org-remember-mode-map "\C-x\C-s" 'org-remember-finalize))) - #+end_src - + + You can also use this to free the =C-c C-c= binding (by + binding this key to nil in the minor mode map), so that you + can use =C-c C-c= again to set tags. + +*** Support for ido completion + You can not get the completion interface from /ido.el/ for + many of Org's internal completion commands by turning on the + variable `org-completion-use-ido'. =ido=mode= must also be + active before you can use this. +*** New face for datelines in agenda column view + When column view is active in the agenda, and when you have + summarizing properties, the date lines become normal column + lines and the separation between different days becomes + harder to see. If this bothers you, you can now customize + the face =org-agenda-column-dateline=. +*** Invisible targets become now anchors in headlines. + These anchors can be used to jump to a directly with an HTML + link, just like the =sec-xxx= ids. For example, the + following will make a http link + =//domain/path-to-my-file#dummy= work: + +#+begin_src org +,# <> +,*** a headline +#+end_src + +*** New contributed file org-exp-blocks.el + + This new file implements special export behavior of + user-defined blocks, and it has some defaults to export + commends and ASCII graphics. + + For ASCII art, it needs the java program ditaa.jar by Stathis + Sideris. Thanks to Stathis for this excellent program, and + for allowing us to bundle it with Org-mode. + + Kudos to Eric Schulte for this new functionality, after + org-plot.el already his second major contribution. + +*** Link translation + + You can now configure Org to understand many links created + with the Emacs Planner package, so you can cut text from + planner pages and paste them into Org-mode files without + having to re-write the links. The following customization es + needed to make this work + +#+begin_src emacs-lisp +(setq org-link-translation-function + 'org-translate-link-from-planner) +#+end_src + + This will work for pretty much all links where Org does + support the same or a similar protocol. However, the + translator is a quick hack, and maybe we need to refine it. + + I guess a similar translator could be written and integrated + into Planner. + +*** BBDB links may use regular expressions. + + This did work all along, but only now I have documented it. + +*** =yank-pop= works again after yanking an outline tree + +*** Link abbreviations can use %h to insert a url-encoded target value + + Thanks to Steve Purcell for a patch to this effect. + +*** Improved XHTML compliance + + Thanks to Sebastian Rose for pushing this. + +*** Many bug fixes again. * Version 6.12 ** Overview From ac14d2956596b9d59a51755a32e0d22776f02d7f Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Wed, 19 Nov 2008 12:22:43 +0100 Subject: [PATCH 4/4] Improved links to usenet messages on the web. Tassilo Horn writes: here's the promised refactoring of org-gnus.el: - Rename org-usenet-links-prefer-google to org-gnus-prefer-web-links - Make that option work for gmane - Only make weblinks if the article is in a newsgroup - Only make weblinks if the article has no X-No-Archive header There is little drawback: - Gnus stored some headers in an array and makes them instantly available. Unfortunately that doesn't apply to X-No-Archive, so I have to select and widen the article buffer and parse anew. --- lisp/org-gnus.el | 82 +++++++++++++++++++++++++++++++----------------- 1 file changed, 53 insertions(+), 29 deletions(-) diff --git a/lisp/org-gnus.el b/lisp/org-gnus.el index 851425e75..fc672683f 100644 --- a/lisp/org-gnus.el +++ b/lisp/org-gnus.el @@ -3,6 +3,7 @@ ;; Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; Author: Carsten Dominik +;; Tassilo Horn ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org ;; Version: 6.12trans @@ -37,7 +38,11 @@ ;; Customization variables -(defcustom org-usenet-links-prefer-google nil +(when (fboundp 'defvaralias) + (defvaralias 'org-usenet-links-prefer-google 'org-gnus-prefer-web-links + "Deprecated name for `org-gnus-prefer-web-links'.")) + +(defcustom org-gnus-prefer-web-links nil "Non-nil means, `org-store-link' will create web links to Google groups. When nil, Gnus will be used for such links. Using a prefix arg to the command \\[org-store-link] (`org-store-link') @@ -57,50 +62,69 @@ negates this setting for the duration of the command." (add-hook 'org-store-link-functions 'org-gnus-store-link) ;; Implementation + +(defun org-gnus-group-link (group) + (debug) + + (let ((unprefixed-group (replace-regexp-in-string "^[^:]+:" "" group))) + (if (and (string-match "^nntp" group) ;; Only for nntp groups + (org-xor current-prefix-arg + org-gnus-prefer-web-links)) + (concat (if (string-match "gmane" unprefixed-group) + "http://news.gmane.org/" + "http://groups.google.com/group/") + unprefixed-group) + (concat "gnus:" group)))) + +(defun org-gnus-article-link (group newsgroups message-id x-no-archive) + (if (and (org-xor current-prefix-arg org-gnus-prefer-web-links) + newsgroups ;; Make web links only for nntp groups + (not x-no-archive)) ;; and if X-No-Archive isn't set. + (format (if (string-match "gmane\\." newsgroups) + "http://mid.gmane.org/%s" + "http://groups.google.com/groups/search?as_umsgid=%s") + (org-fixup-message-id-for-http + (replace-regexp-in-string "[<>]" "" message-id))) + (org-make-link "gnus:" group "#" message-id))) + (defun org-gnus-store-link () "Store a link to a Gnus folder or message." (cond ((eq major-mode 'gnus-group-mode) - (let ((group (cond ((fboundp 'gnus-group-group-name) ; depending on Gnus - (gnus-group-group-name)) ; version - ((fboundp 'gnus-group-name) - (gnus-group-name)) - (t "???"))) - desc link) + (let* ((group (cond ((fboundp 'gnus-group-group-name) ; depending on Gnus + (gnus-group-group-name)) ; version + ((fboundp 'gnus-group-name) + (gnus-group-name)) + (t "???"))) + desc link) (unless group (error "Not on a group")) (org-store-link-props :type "gnus" :group group) - (setq desc (concat - (if (org-xor current-prefix-arg - org-usenet-links-prefer-google) - "http://groups.google.com/groups?group=" - "gnus:") - group) + (setq desc (org-gnus-group-link group) link (org-make-link desc)) (org-add-link-props :link link :description desc) link)) ((memq major-mode '(gnus-summary-mode gnus-article-mode)) - (and (eq major-mode 'gnus-article-mode) (gnus-article-show-summary)) + (and (eq major-mode 'gnus-summary-mode) (gnus-summary-show-article)) (let* ((group gnus-newsgroup-name) - (article (gnus-summary-article-number)) - (header (gnus-summary-article-header article)) - (from (mail-header-from header)) - (message-id (mail-header-id header)) - (date (mail-header-date header)) - (extra (mail-header-extra header)) - (to (cdr (assoc 'To extra))) + + (header (with-current-buffer gnus-article-buffer + (gnus-summary-toggle-header 1) + (goto-char (point-min)) + (mail-header-extract-no-properties))) + (from (mail-header 'from header)) + (message-id (mail-header 'message-id header)) + (date (mail-header 'date header)) + (to (mail-header 'to header)) + (newsgroups (mail-header 'newsgroups header)) + (x-no-archive (mail-header 'x-no-archive header)) + (subject (gnus-summary-subject-string)) desc link) (org-store-link-props :type "gnus" :from from :subject subject :message-id message-id :group group :to to) - (setq desc (org-email-link-description)) - (if (org-xor current-prefix-arg org-usenet-links-prefer-google) - (setq link - (format "http://groups.google.com/groups?as_umsgid=%s" - (org-fixup-message-id-for-http message-id))) - (setq link (org-make-link "gnus:" group "#" - (or message-id - (number-to-string article))))) + (setq desc (org-email-link-description) + link (org-gnus-article-link group newsgroups message-id x-no-archive)) (org-add-link-props :link link :description desc) link))))