emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] Re: Integrating ctags & org mode (patch)


From: Carsten Dominik
Subject: Re: [Orgmode] Re: Integrating ctags & org mode (patch)
Date: Fri, 18 Dec 2009 17:00:30 +0100

Hi Paul,

I have now made a new hook `org-open-link-functions'.
Each function in this hook will be called with the link text as the single
argument.  If the function feels responsible for this link, it should
follow the link and return a non-nil value.  If it does not feel
responsible for the link, it should return nil.

Can I persuade you to change your implementation to use this hook
instead of a patch modifying org.el?  The we could wrap this
functionality into org-etags.el and include it with Emacs.

Could you please at the same time start the paperwork with Emacs?
To see how, follow the link near the end of http://orgmode.org

Thanks

- Carsten

P.S.  Actually, before getting to work on this, maybe you should wait
for the discussion just started in another thread.


On Dec 15, 2009, at 10:08 PM, Paul Sexton wrote:

Sorry guys, I seem to be spamming this topic, but I just fixed another problem -- properties on the link string were causing problems with find- tag, which
expected a propertyless string.

Fixed patch follows.

----BEGIN PATCH for org.el (delete this line)----
8349,8369c8349,8350
{             (condition-case nil (eval cmd)
{               ;; ORG-TAGS
{               (error
{                (progn
{                  (widen)
{                  (condition-case nil (eval cmd)
{                    (error
{                     ;; No matching link found anywhere in this file
{                     ;; See if we can find a tag
{                    ;; If so, jump to it
{                    (let ((linktext path))
{                      (set-text-properties 0 (length linktext)
{                                           nil linktext)
{                      (condition-case nil (find-tag linktext)
{                        (error
{                         (cond
{                          (org-make-new-topics-for-missing-links-p
{                           (if (y-or-n-p
{ (format "Topic `%S' not found; append to
current buffer?"
{                                        linktext))
{                               (org-append-new-topic linktext nil)))
{                          (t
{                           (error "No match found")))))))))))))
{
{
---
}           (condition-case nil (eval cmd)
}             (error (progn (widen) (eval cmd))))))
8592,8595d8572
{      ;; ORG-TAGS
{      ((not org-open-link-defaults-to-normal-string-search-p)
{       ;; We don't want to search for a plain text match.
{       (error "No match."))
8651,8682d8627
{
{
{ ;; ORG-TAGS
{
{ (defvar org-open-link-defaults-to-normal-string-search-p nil
{ "Behaviour when attempting to open a 'thisfile' hyperlink for which no
{ EXACT match can be found (i.e. no match in angled brackets, etc).
{ If true (default), exhibit normal org behaviour of doing a search for a string
{ matching the link name.
{ If nil, abort the attempt to open the link.")
{
{
{ (defvar org-make-new-topics-for-missing-links-p nil
{ "If true, when attempting to follow a 'plain' hyperlink for which no precise { match is found, offer to append a top-level heading with the same name as the
{ hyperlink, to the end of the buffer.")
{
{
{ (defun org-append-new-topic (word)
{   (interactive "s")
{   (widen)
{   (end-of-buffer)
{   (newline 2)
{   (insert (format "* <<%s>>" word))  ; <<<>>> to make radio word
{   (backward-char 4)
{   ;;(org-update-radio-target-regexp)
{   (end-of-line)
{   (newline 2)
{   (next-line 2))
{
{
{
----END PATCH (delete this line)----






_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

- Carsten







reply via email to

[Prev in Thread] Current Thread [Next in Thread]