>>>> "Mats" == Mats Lidell
<matsl(a)xemacs.org> writes:
Stephen> Have you looked at hyperbole?
Mats> Unfortunately there is no such thing in hyperbole, yet.
Mats> Triggered by this request I did some experiment, added an
Mats> implicit change-log-mode button and tried to think about what
Mats> could be done.
Mats> * What comes first in mind is trying to come up with an implicit
Mats> button.
Mats> It all seems to get a bit complicated without really solving the
Mats> requested functionality.
Mats> * Creating an explicit button in the ChangeLog is not desirable I
Mats> think!? (Excplicit means that an hyperbole button "<....>"
Mats> is inserted. The link will be persistent but the ChangeLog
Mats> will contain hyperbole buttons ...)
Well I would not mind, if it where easy to create and to use.
But of course as you said, I would like that when I run the modified
add-change-log-entry, then the position of the change is stored and
the link is set automatically.
Mats> * What I think really is wanted is that a cross reference is created
Mats> from the ChangeLog to from where add-change-log-entry was
Mats> invoked. This should all take place behind the scene so
Mats> that when clicking on that line in the ChangeLog you will
Mats> be transfered back to where it all began.
Mats> From a quick look at bm.el it doesn't seem to implement
Mats> this but rather create a visible bookmark to which you can
Mats> jump from the bookmarks associated with that file.
Right
Mats> Maybe that idea could be taken further and any line in a
Mats> buffer could be the starting point for a cross reference to
Mats> a position in another file. Then a modified
Mats> add-change-log-entry could update that cross
Mats> reference. However this transfers the problem into how to
Mats> update the cross reference when the originating file is
Mats> changed which doesn't seem to be trivial.
Right, this a problem in bm and in bookmark.el. However bookmark has a
clever idea (which was then implemented by bm as well): not only store
the char position, where the change occurred, but store also some
strings before and after the change (this is called front-context-string and
rear-context-string) in order take into account a possible change of
the file later.
Example ^ indicates where the change occurs
,----
| This is a line
| here I will change tis
| ^
| another line.
`----
Then the cursor position
- ^ is stored together with the strings
- "change" and
- "another"
Then when I make changes of the form
,----
| a new line
| This is a line
| here I will change tis
| ^
| another line.
`----
Then everything is fine and the ^ can be found.
The question reminds were to store all that information. I see three
possibilities:
- In the change log file (but may be in the non visible
part). However that might be complicated
- In a global file in the home directory
- In a file associated which every changelog file
Uwe Brauer
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta