emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Dan Davison <davison@stats.ox.ac.uk>
To: Mark Elston <m_elston@comcast.net>
Cc: emacs-orgmode@gnu.org
Subject: Re: Re: Limited #+INCLUDE ?
Date: Mon, 26 Apr 2010 22:19:18 -0400	[thread overview]
Message-ID: <8739yh7i3d.fsf@stats.ox.ac.uk> (raw)
In-Reply-To: <4BD6312A.5090108@comcast.net> (Mark Elston's message of "Mon, 26 Apr 2010 17:34:50 -0700")

Mark Elston <m_elston@comcast.net> writes:

> On 4/26/2010 12:40 PM, Dan Davison wrote:
>>
>> I'm considering investigating the following and would appreciate
>> comments on this idea. The aim is to make it easier to use Org-mode to
>> work pure code files which are *external to Org-mode* (i.e. this
>> proposal lies outside of the current org-babel tangling framework).
>>
>> - Extend Org file links to allow links to a range of lines in a
>>    file. The syntax could be
>>    [[file:/path/to/file::from::to][linkname]]
>>
>> - These links will bring up a buffer visiting the target file, narrowed
>>    to the target region.
>>
>> - The link back in the Org-mode file can be adjusted from the target
>>    file, by widening and then narrowing again. (During this procedure the
>>    target region would be highlighted.)
>>
>> - Export to HTML and LaTeX will have the ability to include the target
>>    regions, fontified according to the appropriate major-mode, similar to
>>    how begin_src blocks behave on export.
>>
>> - 'from' and 'to' could be line numbers, or regexps for text search.
>>
>> For programmers, this would allow a sort of org-mode mediated literate
>> programming in projects where it is not feasible/desirable to actually
>> include the source code in the org-mode file.
>>
>> Any comments or suggestions?
>>
>> Dan
>
> Dan,
>
> The use of line numbers seems a little error prone since line numbers
> can change dramatically by simply editing the file.  If you edit one
> section of a file, even if you update the line numbers for that
> section, you will need to search out all the *other* links to sections
> in that file and update them as well as they will become stale.  And,
> since it will be possible to have multiple org files with links into a
> single source file, this will be a *very* difficult thing to manage.

Hi Mark,

>
> Your idea about regexps sounds promising, though.

My current thought is that Emacs bookmarks might be the technology to
use here. They seem to be designed for this task (saving a reference to
a location in a file which is robust to mild file alteration), they are
almost 20 years old, and there is already org-bookmarks.el in contrib by
Tokuya Kameshima[1].

(info "(emacs) Bookmarks")

>  You could define
> 'markers' in comments delimiting the relevant sections of code and
> org could search these out easily enough.

My hope was to avoid forcing the target files to receive extra
Org-related content. E.g. suppose that the target files are a
collaborative project involving non-Org users that is under version
control; one wouldn't want to commit those special tags, and one
wouldn't particularly want to have to filter them out them when making
commits.

Dan

[1] I haven't looked into this properly, but to avoid staleness one
possibility would be to modify Tokuya's links to actually include the
lisp form defining the bookmark (i.e. the entry in bookmark-alist) in
the non-visible portion of the link (?). My proposed range links would
employ two bookmarks.




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

  reply	other threads:[~2010-04-27  2:19 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-23 11:25 Limited #+INCLUDE ? Giles Chamberlin
2010-04-26  8:32 ` Sébastien Vauban
2010-04-26 19:40   ` Dan Davison
2010-04-27  0:34     ` Mark Elston
2010-04-27  2:19       ` Dan Davison [this message]
2010-04-28  0:52         ` Mark Elston
2010-04-27  8:27     ` Eric S Fraga
2010-04-27 10:25       ` Darlan Cavalcante Moreira
2010-04-27 15:12         ` Eric Schulte
2010-04-27 17:26           ` Dan Davison
2010-04-27 17:58             ` Eric Schulte
2010-04-27 18:27             ` Giles Chamberlin
2010-04-27 17:52           ` Samuel Wales
2010-04-27 19:19             ` Dan Davison
2010-04-27 21:56               ` Carsten Dominik
2010-04-29 23:14               ` Samuel Wales

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8739yh7i3d.fsf@stats.ox.ac.uk \
    --to=davison@stats.ox.ac.uk \
    --cc=emacs-orgmode@gnu.org \
    --cc=m_elston@comcast.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).