* Temporary notes in Emacs buffers? @ 2019-12-27 10:19 Marcin Borkowski 2019-12-27 10:43 ` Mpho Jele ` (4 more replies) 0 siblings, 5 replies; 60+ messages in thread From: Marcin Borkowski @ 2019-12-27 10:19 UTC (permalink / raw) To: Help Gnu Emacs mailing list Hi all, I've been wondering if there is some package which could let me make "temporary notes" in Emacs buffers, similar to (but different than) the "yellow notes" in some pdf viewers. My use case is that I'm making a sweeping change across a pretty large codebase, and I'd like to make some notes in places I've already visited / ones I need to change / etc. At present, I use normal code comments, however, this is suboptimal, since I cannot use them in certain modes (occur buffer, JSON). Ideally, a place with a comment would have that comment highlighted somehow, and I should be able to go to the next/previous comment, and list all comments in a file or in the project (think Git repo, Projectile project or a directory tree). Also, mass inserting such comments from an occur/multi-occur/projectile-ag/counsel-rg/etc. buffers would be great. What I /don't/ want is modifying the files - the comments might persist in some /other/, .gitignore-d file, or just disappear on exiting Emacs. I know bookmark+ has similar features, but I'd prefer something more lightweight. Does there exist something like that? Am I the only one interested in such a feature? (I'd be happy to code it myself, though it would take time, of course.) TIA, -- Marcin Borkowski http://mbork.pl ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2019-12-27 10:19 Temporary notes in Emacs buffers? Marcin Borkowski @ 2019-12-27 10:43 ` Mpho Jele 2019-12-27 11:51 ` tomas 2019-12-27 15:54 ` Drew Adams ` (3 subsequent siblings) 4 siblings, 1 reply; 60+ messages in thread From: Mpho Jele @ 2019-12-27 10:43 UTC (permalink / raw) To: help-gnu-emacs Check this out: https://github.com/joodland/bm/blob/master/README.md ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2019-12-27 10:43 ` Mpho Jele @ 2019-12-27 11:51 ` tomas 2020-01-01 21:48 ` Marcin Borkowski 0 siblings, 1 reply; 60+ messages in thread From: tomas @ 2019-12-27 11:51 UTC (permalink / raw) To: Mpho Jele; +Cc: help-gnu-emacs [-- Attachment #1: Type: text/plain, Size: 706 bytes --] On Fri, Dec 27, 2019 at 12:43:46PM +0200, Mpho Jele wrote: > Check this out: https://github.com/joodland/bm/blob/master/README.md Throwing "annotate" into the EmacsWiki draws some hits (note: "annotate" is also a term in version control jargon, where it has a slightly different meaning, so some filtering is needed): https://www.emacswiki.org/emacs/OrgAnnotateFile https://www.emacswiki.org/emacs/AnnotationMode https://www.emacswiki.org/emacs/org-annotate-file.el https://www.emacswiki.org/emacs/Annotate https://www.emacswiki.org/emacs/annotate.el Besides, there's an annotate minor mode in Melpa (M-x list-packages, in a reasonably recent Emacs) which might cover your needs. Cheers -- t [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2019-12-27 11:51 ` tomas @ 2020-01-01 21:48 ` Marcin Borkowski 0 siblings, 0 replies; 60+ messages in thread From: Marcin Borkowski @ 2020-01-01 21:48 UTC (permalink / raw) To: tomas; +Cc: help-gnu-emacs, Mpho Jele On 2019-12-27, at 12:51, tomas@tuxteam.de wrote: > On Fri, Dec 27, 2019 at 12:43:46PM +0200, Mpho Jele wrote: >> Check this out: https://github.com/joodland/bm/blob/master/README.md > > Throwing "annotate" into the EmacsWiki draws some hits (note: > "annotate" is also a term in version control jargon, where it > has a slightly different meaning, so some filtering is needed): > > https://www.emacswiki.org/emacs/OrgAnnotateFile > https://www.emacswiki.org/emacs/AnnotationMode > https://www.emacswiki.org/emacs/org-annotate-file.el > https://www.emacswiki.org/emacs/Annotate > https://www.emacswiki.org/emacs/annotate.el > > Besides, there's an annotate minor mode in Melpa (M-x list-packages, > in a reasonably recent Emacs) which might cover your needs. Thanks to both of you, I will check these out. Best, -- Marcin Borkowski http://mbork.pl ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2019-12-27 10:19 Temporary notes in Emacs buffers? Marcin Borkowski 2019-12-27 10:43 ` Mpho Jele @ 2019-12-27 15:54 ` Drew Adams 2020-01-02 17:49 ` Marcin Borkowski 2020-01-05 2:37 ` Michael Heerdegen 2019-12-27 17:48 ` Sharon Kimble ` (2 subsequent siblings) 4 siblings, 2 replies; 60+ messages in thread From: Drew Adams @ 2019-12-27 15:54 UTC (permalink / raw) To: Marcin Borkowski, Help Gnu Emacs mailing list > I've been wondering if there is some package which could let me make > "temporary notes" in Emacs buffers, similar to (but different than) the > "yellow notes" in some pdf viewers. > > My use case is that I'm making a sweeping change across a pretty large > codebase, and I'd like to make some notes in places I've already > visited > / ones I need to change / etc. > > At present, I use normal code comments, however, this is suboptimal, > since I cannot use them in certain modes (occur buffer, JSON). > > Ideally, a place with a comment would have that comment highlighted > somehow, and I should be able to go to the next/previous comment, and > list all comments in a file or in the project (think Git repo, > Projectile project or a directory tree). Also, mass inserting such > comments from an occur/multi-occur/projectile-ag/counsel-rg/etc. > buffers > would be great. > > What I /don't/ want is modifying the files - the comments might persist > in some /other/, .gitignore-d file, or just disappear on exiting Emacs. > > I know bookmark+ has similar features, but I'd prefer something more > lightweight. > > Does there exist something like that? Am I the only one interested in > such a feature? (I'd be happy to code it myself, though it would take > time, of course.) Vanilla Emacs bookmarks provide the ability to annotate. Bookmark+ enhances annotating (e.g. to use Org and indirection), but the annotation provided by vanilla Emacs bookmarking does what you requested. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2019-12-27 15:54 ` Drew Adams @ 2020-01-02 17:49 ` Marcin Borkowski 2020-01-05 2:37 ` Michael Heerdegen 1 sibling, 0 replies; 60+ messages in thread From: Marcin Borkowski @ 2020-01-02 17:49 UTC (permalink / raw) To: Drew Adams; +Cc: Help Gnu Emacs mailing list On 2019-12-27, at 16:54, Drew Adams <drew.adams@oracle.com> wrote: >> I've been wondering if there is some package which could let me make >> "temporary notes" in Emacs buffers, similar to (but different than) the >> "yellow notes" in some pdf viewers. >> >> My use case is that I'm making a sweeping change across a pretty large >> codebase, and I'd like to make some notes in places I've already >> visited >> / ones I need to change / etc. >> >> At present, I use normal code comments, however, this is suboptimal, >> since I cannot use them in certain modes (occur buffer, JSON). >> >> Ideally, a place with a comment would have that comment highlighted >> somehow, and I should be able to go to the next/previous comment, and >> list all comments in a file or in the project (think Git repo, >> Projectile project or a directory tree). Also, mass inserting such >> comments from an occur/multi-occur/projectile-ag/counsel-rg/etc. >> buffers >> would be great. >> >> What I /don't/ want is modifying the files - the comments might persist >> in some /other/, .gitignore-d file, or just disappear on exiting Emacs. >> >> I know bookmark+ has similar features, but I'd prefer something more >> lightweight. >> >> Does there exist something like that? Am I the only one interested in >> such a feature? (I'd be happy to code it myself, though it would take >> time, of course.) > > Vanilla Emacs bookmarks provide the ability to annotate. > Bookmark+ enhances annotating (e.g. to use Org and > indirection), but the annotation provided by vanilla > Emacs bookmarking does what you requested. Thanks, I'll check it out. -- Marcin Borkowski http://mbork.pl ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2019-12-27 15:54 ` Drew Adams 2020-01-02 17:49 ` Marcin Borkowski @ 2020-01-05 2:37 ` Michael Heerdegen 2020-01-05 17:54 ` Drew Adams 1 sibling, 1 reply; 60+ messages in thread From: Michael Heerdegen @ 2020-01-05 2:37 UTC (permalink / raw) To: Drew Adams; +Cc: Help Gnu Emacs mailing list Drew Adams <drew.adams@oracle.com> writes: > Vanilla Emacs bookmarks provide the ability to annotate. > Bookmark+ enhances annotating (e.g. to use Org and > indirection), but the annotation provided by vanilla > Emacs bookmarking does what you requested. Do Vanilla bookmarks really recognize automatically when a bookmarked position has changed because the user has inserted some preceding text? I mean, I know bookmarks save surrounding text to work around that problem but that works only by luck most of the time. Same question for highlighting bookmarked positions: I thought such features were only added by "bookmark+"? Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-05 2:37 ` Michael Heerdegen @ 2020-01-05 17:54 ` Drew Adams 2020-01-06 5:18 ` Jean-Christophe Helary 0 siblings, 1 reply; 60+ messages in thread From: Drew Adams @ 2020-01-05 17:54 UTC (permalink / raw) To: Michael Heerdegen; +Cc: Help Gnu Emacs mailing list > > Vanilla Emacs bookmarks provide the ability to annotate. > > Bookmark+ enhances annotating (e.g. to use Org and > > indirection), but the annotation provided by vanilla > > Emacs bookmarking does what you requested. (Note: That statement is only about annotating. Your response is about automatic relocation and highlighting.) > Do Vanilla bookmarks really recognize automatically > when a bookmarked position has changed because the > user has inserted some preceding text? I mean, I > know bookmarks save surrounding text to work around that > problem but that works only by luck most of the time. Yes. I don't think it works only by luck most of the time. I think it works well most of the time. Of course, if there are large edits before the next time you jump to a bookmark, then, yes, it might not be possible to relocate it automatically (in which case you're prompted to relocate it manually). But edits between jumps to a bookmark are, I think, typically not so large as to prevent automatic relocating. Also, the automatic relocation of Bookmark+ is better than that of vanilla Emacs. > Same question for highlighting bookmarked positions: > I thought such features were only added by "bookmark+"? Correct. That is added by Bookmark+. It's not available with vanilla bookmark handling. If you use Bookmark+ then the highlighting is available also for bookmarks created with vanilla Emacs. But the highlighting is not available without Bookmark+. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-05 17:54 ` Drew Adams @ 2020-01-06 5:18 ` Jean-Christophe Helary 2020-01-06 15:12 ` Drew Adams 0 siblings, 1 reply; 60+ messages in thread From: Jean-Christophe Helary @ 2020-01-06 5:18 UTC (permalink / raw) To: Help Gnu Emacs mailing list > On Jan 6, 2020, at 2:54, Drew Adams <drew.adams@oracle.com> wrote: > > If you use Bookmark+ then the highlighting is > available also for bookmarks created with vanilla > Emacs. But the highlighting is not available > without Bookmark+. I am not seeing Bookmark+ in Melpa, is it only on EmacsWiki ? Jean-Christophe Helary ----------------------------------------------- http://mac4translators.blogspot.com @brandelune ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-06 5:18 ` Jean-Christophe Helary @ 2020-01-06 15:12 ` Drew Adams 2020-01-09 1:03 ` Michael Heerdegen 0 siblings, 1 reply; 60+ messages in thread From: Drew Adams @ 2020-01-06 15:12 UTC (permalink / raw) To: Jean-Christophe Helary, Help Gnu Emacs mailing list > I am not seeing Bookmark+ in Melpa, is it only on EmacsWiki ? Yes. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-06 15:12 ` Drew Adams @ 2020-01-09 1:03 ` Michael Heerdegen 2020-01-09 23:35 ` arthur miller 0 siblings, 1 reply; 60+ messages in thread From: Michael Heerdegen @ 2020-01-09 1:03 UTC (permalink / raw) To: Drew Adams; +Cc: Jean-Christophe Helary, Help Gnu Emacs mailing list Drew Adams <drew.adams@oracle.com> writes: > > I am not seeing Bookmark+ in Melpa, is it only on EmacsWiki ? > > Yes. And AFAIK, Melpa can't fetch from Emacs wiki, AFAIR that's the underlying problem. Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-09 1:03 ` Michael Heerdegen @ 2020-01-09 23:35 ` arthur miller 2020-01-10 4:58 ` Michael Heerdegen 2020-01-10 9:10 ` Unknown 0 siblings, 2 replies; 60+ messages in thread From: arthur miller @ 2020-01-09 23:35 UTC (permalink / raw) To: Michael Heerdegen, Drew Adams Cc: Jean-Christophe Helary, Help Gnu Emacs mailing list You will have to either get it from wiki page or to search on github. There was someone who mirrored entire Emacs wiki source on github, so you could use quelpa to fetch it from github directly. Skickat från min Samsung Galaxy-smartphone. -------- Originalmeddelande -------- Från: Michael Heerdegen <michael_heerdegen@web.de> Datum: 2020-01-09 02:04 (GMT+01:00) Till: Drew Adams <drew.adams@oracle.com> Kopia: Jean-Christophe Helary <jean.christophe.helary@traduction-libre.org>, Help Gnu Emacs mailing list <help-gnu-emacs@gnu.org> Ämne: Re: Temporary notes in Emacs buffers? Drew Adams <drew.adams@oracle.com> writes: > > I am not seeing Bookmark+ in Melpa, is it only on EmacsWiki ? > > Yes. And AFAIK, Melpa can't fetch from Emacs wiki, AFAIR that's the underlying problem. Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-09 23:35 ` arthur miller @ 2020-01-10 4:58 ` Michael Heerdegen 2020-01-10 9:30 ` Robert Pluim 2020-01-10 9:10 ` Unknown 1 sibling, 1 reply; 60+ messages in thread From: Michael Heerdegen @ 2020-01-10 4:58 UTC (permalink / raw) To: arthur miller; +Cc: Jean-Christophe Helary, Help Gnu Emacs mailing list arthur miller <arthur.miller@live.com> writes: > You will have to either get it from wiki page or to search on > github. There was someone who mirrored entire Emacs wiki source on > github, so you could use quelpa to fetch it from github directly. Can that be done with a Melpa recipe? Then bookmark+ could be added to Melpa, right? Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-10 4:58 ` Michael Heerdegen @ 2020-01-10 9:30 ` Robert Pluim 2020-01-10 10:01 ` Michael Heerdegen 2020-01-10 17:04 ` Drew Adams 0 siblings, 2 replies; 60+ messages in thread From: Robert Pluim @ 2020-01-10 9:30 UTC (permalink / raw) To: Michael Heerdegen Cc: Jean-Christophe Helary, Help Gnu Emacs mailing list, arthur miller >>>>> On Fri, 10 Jan 2020 05:58:24 +0100, Michael Heerdegen <michael_heerdegen@web.de> said: Michael> arthur miller <arthur.miller@live.com> writes: >> You will have to either get it from wiki page or to search on >> github. There was someone who mirrored entire Emacs wiki source on >> github, so you could use quelpa to fetch it from github directly. Michael> Can that be done with a Melpa recipe? Then bookmark+ could be added Michael> to Melpa, right? Thereʼs a reason emacswiki packages are not on Melpa: https://github.com/melpa/melpa/pull/5008 Robert ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-10 9:30 ` Robert Pluim @ 2020-01-10 10:01 ` Michael Heerdegen 2020-01-10 17:04 ` Drew Adams 1 sibling, 0 replies; 60+ messages in thread From: Michael Heerdegen @ 2020-01-10 10:01 UTC (permalink / raw) To: Robert Pluim Cc: Jean-Christophe Helary, Help Gnu Emacs mailing list, arthur miller Robert Pluim <rpluim@gmail.com> writes: > Thereʼs a reason emacswiki packages are not on Melpa: > > https://github.com/melpa/melpa/pull/5008 Ok, so this all has already been discussed exhaustively. Thanks for letting me know. Still not a satisfactory situation... Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-10 9:30 ` Robert Pluim 2020-01-10 10:01 ` Michael Heerdegen @ 2020-01-10 17:04 ` Drew Adams 1 sibling, 0 replies; 60+ messages in thread From: Drew Adams @ 2020-01-10 17:04 UTC (permalink / raw) To: Robert Pluim, Michael Heerdegen Cc: Jean-Christophe Helary, Help Gnu Emacs mailing list, arthur miller > Thereʼs a reason emacswiki packages are not on Melpa: > > https://urldefense.proofpoint.com/v2/url?u=https- > 3A__github.com_melpa_melpa_pull_5008&d=DwIFaQ&c=RoP1YumCXCgaWHvlZYR8PZh > 8Bv7qIrMUB65eapI_JnE&r=kI3P6ljGv6CTHIKju0jqInF6AOwMCYRDQUmqX22rJ98&m=F_ > LRuPuqPOescCuSziNAEhnqnWbws77YInvK3aDdmsI&s=gtzorV_OAn6x8NV08diPZOZFuP9 > e0uSaG3M7V_jDcYs&e= For those interested: https://www.reddit.com/r/emacs/comments/7vocqa/update_on_melpa_removing_emacswiki_packages_they/dtuhzmt/ ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-09 23:35 ` arthur miller 2020-01-10 4:58 ` Michael Heerdegen @ 2020-01-10 9:10 ` Unknown 1 sibling, 0 replies; 60+ messages in thread From: Unknown @ 2020-01-10 9:10 UTC (permalink / raw) To: arthur miller Cc: Michael Heerdegen, Drew Adams, Jean-Christophe Helary, Help Gnu Emacs mailing list arthur miller <arthur.miller@live.com> 작성: > You will have to either get it from wiki page or to search on github. > There was someone who mirrored entire Emacs wiki source on github, so you > could use quelpa to fetch it from github directly. Emacsmirror[0], right? Bookmarks+[1] is also included (as said). [0] https://emacsmirror.net [1] https://github.com/emacsmirror/bookmark-plus ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2019-12-27 10:19 Temporary notes in Emacs buffers? Marcin Borkowski 2019-12-27 10:43 ` Mpho Jele 2019-12-27 15:54 ` Drew Adams @ 2019-12-27 17:48 ` Sharon Kimble 2020-01-01 1:42 ` Michael Heerdegen 2020-01-09 3:57 ` Michael Heerdegen 4 siblings, 0 replies; 60+ messages in thread From: Sharon Kimble @ 2019-12-27 17:48 UTC (permalink / raw) To: Marcin Borkowski; +Cc: Help Gnu Emacs mailing list [-- Attachment #1: Type: text/plain, Size: 1086 bytes --] Marcin Borkowski <mbork@mbork.pl> writes: > Hi all, > > I've been wondering if there is some package which could let me make > "temporary notes" in Emacs buffers, similar to (but different than) the > "yellow notes" in some pdf viewers. > > My use case is that I'm making a sweeping change across a pretty large > codebase, and I'd like to make some notes in places I've already visited > / ones I need to change / etc. Would 'side-notes' from elpa help? Its a buffer that opens up to the side of your main buffer, in which you can record all sorts of stuff, its up to you what you use it for. Then you could just put something like [1] in the file that you are reviewing and a similar [1] in your side-note with whatever comment you'd like to make. Its your choice. To save putting a mark in your main file, you could just use line-numbers, just as an off-the-cuff thought? Sharon. -- A taste of linux = http://www.sharons.org.uk TGmeds = http://www.tgmeds.org.uk DrugFacts = https://www.drugfacts.org.uk Debian 10.1, fluxbox 1.3.7, emacs 26.3, org 9.3 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2019-12-27 10:19 Temporary notes in Emacs buffers? Marcin Borkowski ` (2 preceding siblings ...) 2019-12-27 17:48 ` Sharon Kimble @ 2020-01-01 1:42 ` Michael Heerdegen 2020-01-01 4:45 ` Drew Adams 2020-01-02 17:48 ` Marcin Borkowski 2020-01-09 3:57 ` Michael Heerdegen 4 siblings, 2 replies; 60+ messages in thread From: Michael Heerdegen @ 2020-01-01 1:42 UTC (permalink / raw) To: Marcin Borkowski; +Cc: Help Gnu Emacs mailing list Marcin Borkowski <mbork@mbork.pl> writes: > At present, I use normal code comments, however, this is suboptimal, > since I cannot use them in certain modes (occur buffer, JSON). Is that occur buffer saved to a file? Because, if it's a dynamically created buffer, how could notes attached to it be durable at all? > Does there exist something like that? Am I the only one interested in > such a feature? (I'd be happy to code it myself, though it would take > time, of course.) I also considered to implement something like that several times. We could use overlays to assign the positions and overlay properties to store note texts and metadata. When a buffer is edited, the overlay begin and end marker positions are updated by Emacs on the fly. I would use after-save-hook or so to make Emacs save that stuff automatically for every file save. Where it is saved would be (file locally) configurable: in a file local variable, in a directory local variable, or in a configurable central place. When you open a file, a minor-mode-hook would arrange that everything is restored. There would also be a variant for dired buffers to attach notes to whole files. Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-01 1:42 ` Michael Heerdegen @ 2020-01-01 4:45 ` Drew Adams 2020-01-01 5:00 ` Michael Heerdegen 2020-01-02 17:48 ` Marcin Borkowski 2020-01-02 17:48 ` Marcin Borkowski 1 sibling, 2 replies; 60+ messages in thread From: Drew Adams @ 2020-01-01 4:45 UTC (permalink / raw) To: Michael Heerdegen, Marcin Borkowski; +Cc: Help Gnu Emacs mailing list > I also considered to implement something like that several times. > > We could use overlays to assign the positions and overlay properties to > store note texts and metadata. When a buffer is edited, the overlay > begin and end marker positions are updated by Emacs on the fly. I > would use after-save-hook or so to make Emacs save that stuff > automatically for every file save. Where it is saved would be (file > locally) configurable: in a file local variable, in a directory local > variable, or in a configurable central place. > > When you open a file, a minor-mode-hook would arrange that everything > is restored. > > There would also be a variant for dired buffers to attach notes to > whole files. FWIW: Marcin said he wasn't interested, but Bookmark+ really does offer all of that already. Locations (single position or start+end) of such "notes" (bookmarks) can be automatically highlighted. You can cycle next/previous. You can hit a key to edit the content (annotation). Or access any by its name. (Names can also be autogenerated.) [You can also bookmark a multi-region - a set of zones in a file (or across multiple files). In that case, you have a single annotation for the whole set. (You can have any number of such sets.)] Bookmarks are pretty flexible. You can use them in lots of different ways. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-01 4:45 ` Drew Adams @ 2020-01-01 5:00 ` Michael Heerdegen 2020-01-01 6:25 ` Drew Adams 2020-01-02 17:48 ` Marcin Borkowski 1 sibling, 1 reply; 60+ messages in thread From: Michael Heerdegen @ 2020-01-01 5:00 UTC (permalink / raw) To: Drew Adams; +Cc: Help Gnu Emacs mailing list Drew Adams <drew.adams@oracle.com> writes: > Bookmarks are pretty flexible. You can use them in lots of different > ways. Yeah - probably. What I dislike I think: if I move a file to a different location, the relation to the notes is lost, and I have to manually relocate the file. That might be annoying. That's why my favorite approach would be to save the data in the file itself or at least in its directory instead of a central place. Or is there a solution for that problem using bookmarks, too? Thanks, Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-01 5:00 ` Michael Heerdegen @ 2020-01-01 6:25 ` Drew Adams 2020-01-01 20:34 ` John Yates ` (2 more replies) 0 siblings, 3 replies; 60+ messages in thread From: Drew Adams @ 2020-01-01 6:25 UTC (permalink / raw) To: Michael Heerdegen; +Cc: Help Gnu Emacs mailing list > > Bookmarks are pretty flexible. You can use > > them in lots of different ways. > > Yeah - probably. What I dislike I think: if I move a file to a > different location, the relation to the notes is lost, and I have to > manually relocate the file. That might be annoying. That's why my > favorite approach would be to save the data in the file itself or at > least in its directory instead of a central place. Or is there a > solution for that problem using bookmarks, too? If you move the destination of a bookmark (the file or the positions in it) then, when you try to jump to it: * If the file is available, but the contexts for the recorded positions within it can't be found, then an attempt is made to relocate - searching for the recorded contexts (text before & after the positions. If that's not successful, because the file has changed too much, then you're prompted to relocate the positions. * If the general location (e.g. file) has moved, then you're prompted to relocate it. You can also manually relocate a bookmark's target any time, of course. But normally, if the file has not moved, when you jump to a bookmark the target positions are automatically updated (well, it's optional): The recorded positions are used as a starting point, and then the recorded contexts are found. If those have moved then the new location is recorded. --- There are advantages to saving annotations (e.g. bookmarks) in a separate file from their targets. And there are advantages of saving them in the same file. An annotation is a kind of metadata - a note about the file content or a location. There are pros and cons for storing metadata and data together. This isn't special to file annotations. --- You can have any number of bookmark files, and they can be stored anywhere. You can, as you mention, store a file of bookmarks in the same directory as the file or files that they target. So you can, if you like, easily move both at the same time, e.g. to another directory. However, yes, the target file names recorded in the bookmarks are absolute names. So you would want to define a command that not only moves the bookmark file and its targeted files, together, to the same new directory, but also updates the recorded file names in the bookmarks, to reflect the new target directory. That wouldn't be hard. You can also have bookmark lists composed of bookmark lists. And mappings between bookmark files and bookmark lists need not be 1:1. You can have a bookmark file for a book you're writing, and bookmark lists for each of its chapters. Or separate bookmark files for the chapters. And you can bookmark a bookmark list, e.g., switch to a different chapter just by jumping to a bookmark-list bookmark. The only requirement is that a bookmark file be separate from the files targeted by its bookmarks. Why? Because, like a directory, a bookmark file is a list of a bunch of files and their metadata. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-01 6:25 ` Drew Adams @ 2020-01-01 20:34 ` John Yates 2020-01-01 21:19 ` Drew Adams 2020-01-01 21:47 ` Marcin Borkowski 2020-01-02 1:25 ` Michael Heerdegen 2020-01-11 7:36 ` Michael Heerdegen 2 siblings, 2 replies; 60+ messages in thread From: John Yates @ 2020-01-01 20:34 UTC (permalink / raw) To: Drew Adams; +Cc: Michael Heerdegen, Help Gnu Emacs mailing list My sense of why bookmarks of any sort are not a solution is that the mapping goes the wrong way. You open a list of bookmarks and expect them to take you to the appropriate targets. Marcin seems to want to open the target and have it known whether or not there are any relevant notes. /john ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-01 20:34 ` John Yates @ 2020-01-01 21:19 ` Drew Adams 2020-01-01 21:47 ` Marcin Borkowski 1 sibling, 0 replies; 60+ messages in thread From: Drew Adams @ 2020-01-01 21:19 UTC (permalink / raw) To: John Yates; +Cc: Michael Heerdegen, Help Gnu Emacs mailing list > My sense of why bookmarks of any sort are not > a solution is that the mapping goes the wrong > way. You open a list of bookmarks and expect > them to take you to the appropriate targets. > Marcin seems to want to open the target and > have it known whether or not there are any > relevant notes. That's not true of Bookmark+ bookmarks. As I said, you can automatically highlight their locations. As Marcin requested: > similar to (but different than) the > "yellow notes" in some pdf viewers. And you can use different kinds of highlighting for different sets of bookmarks. You need not ever display a list of bookmarks, or even a list of a given set/type of bookmarks. You can access (show/edit) a bookmark at its point of use (its target). ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-01 20:34 ` John Yates 2020-01-01 21:19 ` Drew Adams @ 2020-01-01 21:47 ` Marcin Borkowski 1 sibling, 0 replies; 60+ messages in thread From: Marcin Borkowski @ 2020-01-01 21:47 UTC (permalink / raw) To: John Yates; +Cc: Michael Heerdegen, Help Gnu Emacs mailing list On 2020-01-01, at 21:34, John Yates <john@yates-sheets.org> wrote: > My sense of why bookmarks of any sort are not > a solution is that the mapping goes the wrong > way. You open a list of bookmarks and expect > them to take you to the appropriate targets. > Marcin seems to want to open the target and > have it known whether or not there are any > relevant notes. Yes and no. In the end, I need the list, too. But this is a very good point. Thanks, -- Marcin Borkowski http://mbork.pl ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-01 6:25 ` Drew Adams 2020-01-01 20:34 ` John Yates @ 2020-01-02 1:25 ` Michael Heerdegen 2020-01-02 3:16 ` Drew Adams 2020-01-11 7:36 ` Michael Heerdegen 2 siblings, 1 reply; 60+ messages in thread From: Michael Heerdegen @ 2020-01-02 1:25 UTC (permalink / raw) To: Drew Adams; +Cc: Help Gnu Emacs mailing list Drew Adams <drew.adams@oracle.com> writes: > However, yes, the target file names recorded in > the bookmarks are absolute names. So you would > want to define a command that not only moves the > bookmark file and its targeted files, together, > to the same new directory, but also updates the > recorded file names in the bookmarks, to reflect > the new target directory. That wouldn't be hard. Not hard, but a disadvantage, because I need to remember that I need to do it. All the time. Or hack any possible way to move files in Emacs. That's a big minus for me. Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-02 1:25 ` Michael Heerdegen @ 2020-01-02 3:16 ` Drew Adams 2020-01-02 3:45 ` Michael Heerdegen 0 siblings, 1 reply; 60+ messages in thread From: Drew Adams @ 2020-01-02 3:16 UTC (permalink / raw) To: Michael Heerdegen; +Cc: Help Gnu Emacs mailing list > > However, yes, the target file names recorded in > > the bookmarks are absolute names. So you would > > want to define a command that not only moves the > > bookmark file and its targeted files, together, > > to the same new directory, but also updates the > > recorded file names in the bookmarks, to reflect > > the new target directory. That wouldn't be hard. > > Not hard, but a disadvantage, because I need to remember that I need to > do it. All the time. Or hack any possible way to move files in Emacs. > That's a big minus for me. Do you really often move files for which you have associated notes? If so, then you might consider defining a file handler, to take care of that automatically (by its `rename-file' operation). --- Or yes, not use bookmarks for your annotations. It's clear that the bookmarks that target a file are something separate from the file, linked with it only by that targeting. This is different from, say, file attributes, which "stay with the file" when you move it, because they're managed by the same thing that does the moving: the file system. And it is different from, say, storing notes in the file content in some way. As I said earlier, there are advantages to having such metadata as part of the data (file). There are also disadvantages. It depends on the various things you want to do, and how they're implemented. Bookmarks aren't the answer to everything. ;-) ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-02 3:16 ` Drew Adams @ 2020-01-02 3:45 ` Michael Heerdegen 2020-01-02 5:30 ` Drew Adams 0 siblings, 1 reply; 60+ messages in thread From: Michael Heerdegen @ 2020-01-02 3:45 UTC (permalink / raw) To: Drew Adams; +Cc: Help Gnu Emacs mailing list Drew Adams <drew.adams@oracle.com> writes: > Do you really often move files for which you have associated notes? I don't know yet. But the bookmarks should at least survive making backups, and remain visible when viewing them at that other place, or after moving the containing folder for archiving or so. I would say: often enough that it matters, yes. > Or yes, not use bookmarks for your annotations. Well, they mostly fit, if they would not force me to use absolute file names. You are sure that there is no predefined way to use relative names? Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-02 3:45 ` Michael Heerdegen @ 2020-01-02 5:30 ` Drew Adams 2020-01-02 15:41 ` Drew Adams 2020-01-03 1:07 ` Michael Heerdegen 0 siblings, 2 replies; 60+ messages in thread From: Drew Adams @ 2020-01-02 5:30 UTC (permalink / raw) To: Michael Heerdegen; +Cc: Help Gnu Emacs mailing list > > Do you really often move files for which you have associated notes? > > I don't know yet. But the bookmarks should at least survive making > backups, and remain visible when viewing them at that other place, or > after moving the containing folder for archiving or so. I would say: > often enough that it matters, yes. I guess you mean just what you said before: You want to be able to move a file, and some bookmarks that target it, to a different directory, and have the bookmarks continue to work there. > > Or yes, not use bookmarks for your annotations. > > Well, they mostly fit, if they would not force me to use absolute file > names. You are sure that there is no predefined way to use relative > names? You can define a bookmark handler for any type of bookmark. The handler could ignore the directory part of the recorded file name, and get the needed directory from somewhere else, e.g., from a global variable or a function. (It has to come from somewhere.) E.g., a variable could have an alist value with keys for your different whatevers (even nondir-filename keys) and with dirs as the values. But then you'd have to update the variable value when you move the targeted files. As I said before, you can write code that does something like that (my earlier suggestion was code that changes the target-file names in the bookmarks, but that's not great) - e.g. code that's kicked off by a bespoke file-move command. (But then you have to remember to use that command to move such files...) However you look at it, the target file is separate from bookmarks that refer to it - that's the nature of the thing. Something has to let either the bookmarks themselves or the bookmark-handling code know where you moved the target file. (You can also define new types of bookmarks. E.g., you could define one that records a target location that's just the nondirectory part of a file name. But this isn't really necessary - the dir part of an absolute file name could just be ignored - see above.) Other than that (you define a handler), this kind of handling (look up the dir somewhere) could be added as a general (optional) feature. The use case hadn't occurred to me. Maybe give it a try (define a handler that looks up the dir somewhere), and let me know how useful you find it. (Add your new handler to the value of variable `bmkp-file-bookmark-handlers', so the bookmarks will satisfy `bmkp-file-bookmark-p'.) Or if you don't get around to that then maybe I'll do something. But it's less likely that whatever I might come up with will fit what you need as well as what you might come up with. And maybe by experimenting a bit you'll find that bookmarks are really not the way you want to go... --- [Bookmark+ has "autofile" bookmarks, whose bookmark names are the nondirectory parts of the full file names. You can have multiple bookmarks with the same name, which is a relative file name in this case. But the target file recorded in the bookmark is an absolute name (so far).] ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-02 5:30 ` Drew Adams @ 2020-01-02 15:41 ` Drew Adams 2020-01-03 1:07 ` Michael Heerdegen 1 sibling, 0 replies; 60+ messages in thread From: Drew Adams @ 2020-01-02 15:41 UTC (permalink / raw) To: Michael Heerdegen; +Cc: Help Gnu Emacs mailing list > You can define a bookmark handler for any type of > bookmark. The handler could ignore the directory > part of the recorded file name, and get the needed > directory from somewhere else, e.g., from a global > variable or a function. (It has to come from > somewhere.) E.g., a variable could have an alist > value with keys for your different whatevers (even > nondir-filename keys) and with dirs as the values. > > But then you'd have to update the variable value > when you move the targeted files. As I said before, > you can write code that does something like that > (my earlier suggestion was code that changes the > target-file names in the bookmarks, but that's not > great) - e.g. code that's kicked off by a bespoke > file-move command. (But then you have to remember > to use that command to move such files...) > > However you look at it, the target file is separate > from bookmarks that refer to it - that's the nature > of the thing. Something has to let either the > bookmarks themselves or the bookmark-handling code > know where you moved the target file. Let me add this: If your use case is limited to being in the same directory as the file targeted by your bookmark(s), then you can just use `default-directory' in your handler, as the directory in which to look up the file name (ignoring any recorded directory). This could be the case, e.g., if you always accessed your bookmarks from the file itself (e.g., at their highlighted locations there). That's the case we've been discussing, at least in part. It's also possible to use `default-directory' if you want to use a relative file name that includes more than just the non-directory part. E.g., if your file is in a subdir of `default-directory` (current pwd), then you could look it up using the relevant part of the recorded absolute file name. (Or your new bookmark type could record only such a relevant part as the target location.) This could be the case if you access the bookmarks from a parent or other directory (relative file names can include `../' etc.), but you'll know where you'll access them from, so the handler can assume that directory - no need to look it up somewhere. There are various possibilities, depending on just what you might want to do. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-02 5:30 ` Drew Adams 2020-01-02 15:41 ` Drew Adams @ 2020-01-03 1:07 ` Michael Heerdegen 2020-01-03 3:35 ` John Yates ` (2 more replies) 1 sibling, 3 replies; 60+ messages in thread From: Michael Heerdegen @ 2020-01-03 1:07 UTC (permalink / raw) To: Drew Adams; +Cc: Help Gnu Emacs mailing list Drew Adams <drew.adams@oracle.com> writes: > I guess you mean just what you said before: You > want to be able to move a file, and some bookmarks > that target it, to a different directory, and have > the bookmarks continue to work there. Yes. > > names. You are sure that there is no predefined way to use relative > > names? > You can define a bookmark handler for any type of > bookmark. The handler could ignore the directory > part of the recorded file name, and get the needed > directory from somewhere else, e.g., from a global > variable or a function. (It has to come from > somewhere.) E.g., a variable could have an alist > value with keys for your different whatevers (even > nondir-filename keys) and with dirs as the values. > > But then you'd have to update the variable value > when you move the targeted files. As I said before, > you can write code that does something like that > [...] Can't I just use a file or directory local variable for that part? That would be a trivial solution for the problem. The problem is that the bookmark file can't know where I may have moved a file to -- but I'm very unlikely to move the bookmark file very often. So I would prefer a solution where the file knows where to ask for its bookmarks and annotations, and the bookmark mechanism has the data and the mean to deliver it. Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-03 1:07 ` Michael Heerdegen @ 2020-01-03 3:35 ` John Yates 2020-01-03 6:38 ` Drew Adams ` (2 more replies) 2020-01-03 7:00 ` Drew Adams 2020-01-03 13:31 ` arthur miller 2 siblings, 3 replies; 60+ messages in thread From: John Yates @ 2020-01-03 3:35 UTC (permalink / raw) To: Michael Heerdegen; +Cc: Help Gnu Emacs mailing list This broaches the question of what is being annotated, the file as a container (e.g. inode) or its contents: 1. What happens when one moves the file? 2. What happens when one copies the file? 3. What if after the copy one deletes the original? My sense is that this thread is most concerned with use case number 1. An approach not yet mentioned is including some form of UUID as a file local variable. In such a setting notes indirect through a persistent UUID-to-path map. A file handler recognizes relevant operations on UUID annotated and updates the map. This might also include updating the new copy's UUID to preserve uniqueness. /john ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-03 3:35 ` John Yates @ 2020-01-03 6:38 ` Drew Adams 2020-01-03 7:06 ` Drew Adams 2020-01-04 6:39 ` Michael Heerdegen 2 siblings, 0 replies; 60+ messages in thread From: Drew Adams @ 2020-01-03 6:38 UTC (permalink / raw) To: John Yates, Michael Heerdegen; +Cc: Help Gnu Emacs mailing list This broaches the question of what is being annotated, the file as a container (e.g. inode) or its contents If we're still talking about bookmarks, then either one can be the target. To get to the content you first get to the container. But there's no requirement that you target any of the content. A bookmark can act in any way you like on a file, as container, without having anything to do with the content. A bookmark's handler is just a function. What happens when one moves the file? What happens when one copies the file? What if after the copy one deletes the original? My sense is that this thread is most concerned with use case number 1. An approach not yet mentioned is including some form of UUID as a file local variable. In such a setting notes indirect through a persistent UUID-to-path map. A file handler recognizes relevant operations on UUID annotated and updates the map. This might also include updating the new copy's UUID to preserve uniqueness. If Emacs gives you a way to get to a file by an UUID that doesn't change when you move the file, then you could use that in a bookmark. That might, indeed, be a good answer. I don't know that Emacs provides such a way (how?). (You can get the inode of a file, but can you find a file, given its inode?) ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-03 3:35 ` John Yates 2020-01-03 6:38 ` Drew Adams @ 2020-01-03 7:06 ` Drew Adams 2020-01-04 6:39 ` Michael Heerdegen 2 siblings, 0 replies; 60+ messages in thread From: Drew Adams @ 2020-01-03 7:06 UTC (permalink / raw) To: John Yates, Michael Heerdegen; +Cc: Help Gnu Emacs mailing list [Sending my reply again, as the HTML reply made no distinction (that I can see in my email client) between what you wrote and what I replied.] > This broaches the question of what is being annotated, > the file as a container (e.g. inode) or its contents If we're still talking about bookmarks, then either one can be the target. To get to the content you first get to the container. But there's no requirement that you target any of the content. A bookmark can act in any way you like on a file, as container, without having anything to do with the content. A bookmark's handler is just a function. > 1. What happens when one moves the file? > 2. What happens when one copies the file? > 3. What if after the copy one deletes the original? > > My sense is that this thread is most concerned > with use case number 1. > > An approach not yet mentioned is including some > form of UUID as a file local variable. In such > a setting notes indirect through a persistent > UUID-to-path map. A file handler recognizes > relevant operations on UUID annotated and > updates the map. This might also include > updating the new copy's UUID to preserve > uniqueness. If Emacs gives you a way to get to a file by an UUID that doesn't change when you move the file, then you could use that in a bookmark. That might, indeed, be a good answer. I don't know that Emacs provides such a way (how?). (You can get the inode of a file, but can you find a file, given its inode?) ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-03 3:35 ` John Yates 2020-01-03 6:38 ` Drew Adams 2020-01-03 7:06 ` Drew Adams @ 2020-01-04 6:39 ` Michael Heerdegen 2020-01-04 16:04 ` Drew Adams 2 siblings, 1 reply; 60+ messages in thread From: Michael Heerdegen @ 2020-01-04 6:39 UTC (permalink / raw) To: John Yates; +Cc: Help Gnu Emacs mailing list John Yates <john@yates-sheets.org> writes: > An approach not yet mentioned is including some form of > UUID as a file local variable. In such a setting notes > indirect through a persistent UUID-to-path map. A file > handler recognizes relevant operations on UUID annotated > and updates the map. This might also include updating > the new copy's UUID to preserve uniqueness. But Emacs would have to prompt, because if the copy is meant as backup, the UUID shouldn't be changed. And if I happen to not use Emacs (but e.g. rsync) those handlers would not run, right? Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-04 6:39 ` Michael Heerdegen @ 2020-01-04 16:04 ` Drew Adams 2020-01-06 14:18 ` John Yates 0 siblings, 1 reply; 60+ messages in thread From: Drew Adams @ 2020-01-04 16:04 UTC (permalink / raw) To: Michael Heerdegen, John Yates; +Cc: Help Gnu Emacs mailing list > > An approach not yet mentioned is including some form of > > UUID as a file local variable. In such a setting notes > > indirect through a persistent UUID-to-path map. A file > > handler recognizes relevant operations on UUID annotated > > and updates the map. This might also include updating > > the new copy's UUID to preserve uniqueness. > > But Emacs would have to prompt, because if the copy is meant as backup, > the UUID shouldn't be changed. And if I happen to not use Emacs (but > e.g. rsync) those handlers would not run, right? My question about this is (still) how do you use `find-file' (or something else) to open a file for editing, given just the inode/UUID? Such a thing could be recorded in a bookmark, but how to use it, to get to the file, with Emacs? ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-04 16:04 ` Drew Adams @ 2020-01-06 14:18 ` John Yates 2020-01-06 14:34 ` tomas 0 siblings, 1 reply; 60+ messages in thread From: John Yates @ 2020-01-06 14:18 UTC (permalink / raw) To: Drew Adams; +Cc: Michael Heerdegen, Help Gnu Emacs mailing list On Sat, Jan 4, 2020 at 11:05 AM Drew Adams <drew.adams@oracle.com> wrote: > > An approach not yet mentioned is including some form of > > UUID as a file local variable. In such a setting notes > > indirect through a persistent UUID-to-path map. A file > > handler recognizes relevant operations on UUID annotated > > and updates the map. This might also include updating > > the new copy's UUID to preserve uniqueness. > > My question about this is (still) how do you use > `find-file' (or something else) to open a file > for editing, given just the inode/UUID? > > Such a thing could be recorded in a bookmark, > but how to use it, to get to the file, with > Emacs? This is rather half baked. It combined ideas from Gnu arch and Apollo Computer's distributed file system. The common thread is the idea of a UUID. The Gnu arch DVCS embedded the UUID in the text of a file being managed (essentially an elisp file local variable). This was crucial to supporting renaming. An Apollo UUID contained the equivalent of the MAC address for the node which first handed out that UUID. UUIDs were used in many ways and many APIs. In particular the UUID replaced an inode index. This made the ID of a file container universal rather than file system relative. The equivalent of the inode table was a persistent hash table indexed by UUID. File lookup by UUID was not only supported but fundamental: directories were mapping from names to UUIDs. Simplified file open by UUID: First: attempt local open: * Probe local file system's hash table using UUID as key * If found return a local file connection Fallback: attempt remote open: * Extract MAC address from UUID * If self then return file-not-found * Use MAC address to talk to node that issued that UUID * Ask that node to open a file by UUID * Remote node performs only the local half of file open * If found return a cross-network remote file connection Otherwise return file-not-found The above works up until one allows UUID identified objects to migrate across nodes. To support such use cases Apollo added a redirection service. The idea was that any node that allowed a UUID containing its own MAC address to be exposed on another node was responsible for tracking that UUID. Persisting a foreign UUID involved first obtaining permission from the source node's redirection service. This allowed the source node to record whither its UUID had migrated. With the redirection service in place prior to probing the local file system's hash table for a local UUID one would ask the redirection service whether the presented UUID had been migrated. If so the result was a redirect status identifying the node now hosting that UUID. If any of that makes sense then perhaps some of the ideas can be turned into a design using a persistent UUID-to-path map to associate notes to files identified by an embedded UUID. /john ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-06 14:18 ` John Yates @ 2020-01-06 14:34 ` tomas 2020-01-06 15:19 ` John Yates 0 siblings, 1 reply; 60+ messages in thread From: tomas @ 2020-01-06 14:34 UTC (permalink / raw) To: help-gnu-emacs [-- Attachment #1: Type: text/plain, Size: 709 bytes --] On Mon, Jan 06, 2020 at 09:18:56AM -0500, John Yates wrote: [...] > An Apollo UUID contained the equivalent of the MAC address for [...] Thanks for this enjoyable history lesson! I didn't know that this MAC-in-UUID thing originated in Apollo (and din't know why it was there: now it makes sense). I just took it for one of those typical Microsoft messups. The MAC-in-UUID is now mostly gone, for privacy reasons, and perhaps even obsolete, with mobile devices rolling their dice each time they need an UUID. But yes, tracking files around is an iteresting problem in itself, digging up even more interesting philosophical questions (and technical, of course). Cheers -- tomás [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-06 14:34 ` tomas @ 2020-01-06 15:19 ` John Yates 2020-01-06 15:31 ` tomas 2020-01-06 16:28 ` arthur miller 0 siblings, 2 replies; 60+ messages in thread From: John Yates @ 2020-01-06 15:19 UTC (permalink / raw) To: tomas; +Cc: Help Gnu Emacs mailing list Tomás, Paul Leach was responsible for the UUID's importance in Apollo's architecture. (Back then it was called simply a UID.) Paul was an early PhD student under future von Neumann medal and Turing award winner Barbara Liskov. He was the most visionary of the Apollo architects. When Apollo got steamrolled by Sun Bill Gates personally recruited Paul to move to Microsoft. You can learn more about Apollo's architecture here: http://bitsavers.trailing-edge.com/pdf/apollo/Apollo_DOMAIN_Architecture_Feb81.pdf http://bitsavers.trailing-edge.com/pdf/apollo/AEGIS_Overview_1985.pdf http://bitsavers.trailing-edge.com/pdf/apollo/AEGIS_Internals_and_Data_Structures_Jan86.pdf /john ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-06 15:19 ` John Yates @ 2020-01-06 15:31 ` tomas 2020-01-06 16:28 ` arthur miller 1 sibling, 0 replies; 60+ messages in thread From: tomas @ 2020-01-06 15:31 UTC (permalink / raw) To: John Yates; +Cc: Help Gnu Emacs mailing list [-- Attachment #1: Type: text/plain, Size: 108 bytes --] On Mon, Jan 06, 2020 at 10:19:41AM -0500, John Yates wrote: > Tomás, Wow -- thanks :) Cheers -- t [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-06 15:19 ` John Yates 2020-01-06 15:31 ` tomas @ 2020-01-06 16:28 ` arthur miller 1 sibling, 0 replies; 60+ messages in thread From: arthur miller @ 2020-01-06 16:28 UTC (permalink / raw) To: John Yates; +Cc: Help Gnu Emacs mailing list John Yates <john@yates-sheets.org> writes: > Tomás, > > Paul Leach was responsible for the UUID's importance in Apollo's > architecture. (Back > then it was called simply a UID.) Paul was an early PhD student under > future von > Neumann medal and Turing award winner Barbara Liskov. He was the most visionary > of the Apollo architects. When Apollo got steamrolled by Sun Bill > Gates personally > recruited Paul to move to Microsoft. > > You can learn more about Apollo's architecture here: > > http://bitsavers.trailing-edge.com/pdf/apollo/Apollo_DOMAIN_Architecture_Feb81.pdf > http://bitsavers.trailing-edge.com/pdf/apollo/AEGIS_Overview_1985.pdf > http://bitsavers.trailing-edge.com/pdf/apollo/AEGIS_Internals_and_Data_Structures_Jan86.pdf > > /john Wow, thanks for the writings about Apollo and links! ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-03 1:07 ` Michael Heerdegen 2020-01-03 3:35 ` John Yates @ 2020-01-03 7:00 ` Drew Adams 2020-01-03 13:31 ` arthur miller 2 siblings, 0 replies; 60+ messages in thread From: Drew Adams @ 2020-01-03 7:00 UTC (permalink / raw) To: Michael Heerdegen; +Cc: Help Gnu Emacs mailing list > > You can define a bookmark handler for any type of > > bookmark. The handler could ignore the directory > > part of the recorded file name, and get the needed > > directory from somewhere else, e.g., from a global > > variable or a function. (It has to come from > > somewhere.) > > > > E.g., a variable could have an alist > > value with keys for your different whatevers (even > > nondir-filename keys) and with dirs as the values. > > > > But then you'd have to update the variable value > > when you move the targeted files. As I said before, > > you can write code that does something like that [...] > > Can't I just use a file or directory local variable > for that part? That would be a trivial solution > for the problem. You can. I think I mentioned that. You can put the new location of the file anywhere you like, for a bookmark to pick up and use. Is it trivial for you to update a variable value whenever you move the target file? If so, then Bob's your uncle - just use a bookmark handler that uses the variable value to provide the dir. The point is that the code that handles a bookmark has to get that info from somewhere. Currently it gets it from the bookmark (as an absolute file name), but it could get it anywhere. If you're sure to be in the same dir as the target file when you use a bookmark to it, then you can have the handler just use `default-directory' - no need for any variable or whatever. If not, but if some other rule applies for knowing the location of the file relative to the place where you invoke the bookmark, then you can code that in the handler. If not - e.g., if you put the new location in a var or whatever, then the handler can get it there. There's no miracle. The bookmark is separate from the target file. As a consequence, you need to provide some connection between the two, which will remain valid when you move the file - a rule, a lookup,... - something. > The problem is that the bookmark file can't know > where I may have moved a file to Bookmark, not bookmark file. It's not about the bookmark file. (I may have misspoken and given the wrong impression about that.) If the bookmark you invoke can assume that the target file will always be in some location relative to where it's invoked (e.g. same dir), or if the file location can be obtained somehow, then there's no problem - how to obtain it just needs to be coded in the bookmark's handler. If the handler can assume that the file's dir will always be in some variable, or obtainable by some function, then it can use that info. > -- but I'm very unlikely to move the bookmark > file very often. It's not about where the bookmark file is. It's about how the bookmark is accessed (from where), and how it gets the target location. > So I would prefer a solution where the file > knows where to ask for its bookmarks and > annotations, and the bookmark mechanism has > the data and the mean to deliver it. See above. It's up to you to define that mechanism - how "the file knows" and "asks". Various means are available for linking the bookmark and its target file logically. But they do need to be linked, in some way. How you do that depends on your use case. I can only say that, because the bookmark and its target file are separate, some linkage is needed. --- I suggest that the general discussion of your and Marcin's questions be continued in this thread, and that if there's a more detailed discussion to be had about how to do what you want using bookmarks we do that off-list, as it might be a distraction. Just a suggestion. ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-03 1:07 ` Michael Heerdegen 2020-01-03 3:35 ` John Yates 2020-01-03 7:00 ` Drew Adams @ 2020-01-03 13:31 ` arthur miller 2020-01-05 2:18 ` Michael Heerdegen 2 siblings, 1 reply; 60+ messages in thread From: arthur miller @ 2020-01-03 13:31 UTC (permalink / raw) To: Michael Heerdegen, Drew Adams; +Cc: Help Gnu Emacs mailing list Interesting discussion. To me it is clear that any solution to a file format, such as plain ascii text, is going to be external to annotated file itself. Whatever you use, Drew's bookmarks+, file- or dir-local, or some other custom. An external solution implies that you will have your annotation in different place then file itself which you will have to take care off with backups, moving etc. You could automate that by implementing some kind of file handler as Drew suggested some day ago. You can implement something in Emacs as a hook to file save and/or dired machinery or if you are on Gnu/linux you could use inotify. Otherwise there is Org, you can use org mode (or something similar) and implement your annotations as references or hyperlinks or something else. That would turn your text file into org text file. There is also some org annotation mode that won't change your original text fil: https://www.emacswiki.org/emacs/OrgAnnotateFile but with same problem of having annotation separated from the original file. Skickat från min Samsung Galaxy-smartphone. -------- Originalmeddelande -------- Från: Michael Heerdegen <michael_heerdegen@web.de> Datum: 2020-01-03 02:08 (GMT+01:00) Till: Drew Adams <drew.adams@oracle.com> Kopia: Help Gnu Emacs mailing list <help-gnu-emacs@gnu.org> Ämne: Re: Temporary notes in Emacs buffers? Drew Adams <drew.adams@oracle.com> writes: > I guess you mean just what you said before: You > want to be able to move a file, and some bookmarks > that target it, to a different directory, and have > the bookmarks continue to work there. Yes. > > names. You are sure that there is no predefined way to use relative > > names? > You can define a bookmark handler for any type of > bookmark. The handler could ignore the directory > part of the recorded file name, and get the needed > directory from somewhere else, e.g., from a global > variable or a function. (It has to come from > somewhere.) E.g., a variable could have an alist > value with keys for your different whatevers (even > nondir-filename keys) and with dirs as the values. > > But then you'd have to update the variable value > when you move the targeted files. As I said before, > you can write code that does something like that > [...] Can't I just use a file or directory local variable for that part? That would be a trivial solution for the problem. The problem is that the bookmark file can't know where I may have moved a file to -- but I'm very unlikely to move the bookmark file very often. So I would prefer a solution where the file knows where to ask for its bookmarks and annotations, and the bookmark mechanism has the data and the mean to deliver it. Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-03 13:31 ` arthur miller @ 2020-01-05 2:18 ` Michael Heerdegen 0 siblings, 0 replies; 60+ messages in thread From: Michael Heerdegen @ 2020-01-05 2:18 UTC (permalink / raw) To: arthur miller; +Cc: Help Gnu Emacs mailing list arthur miller <arthur.miller@live.com> writes: > There is also some org annotation mode that won't change your original > text fil: > > https://www.emacswiki.org/emacs/OrgAnnotateFile > > but with same problem of having annotation separated from the > original file. Does that package offer to attach the notes to a certain position in a file? Seems not to be the case. But it's still nice. Thanks, Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-01 6:25 ` Drew Adams 2020-01-01 20:34 ` John Yates 2020-01-02 1:25 ` Michael Heerdegen @ 2020-01-11 7:36 ` Michael Heerdegen 2020-01-11 10:00 ` Jean-Christophe Helary 2020-01-11 16:00 ` Drew Adams 2 siblings, 2 replies; 60+ messages in thread From: Michael Heerdegen @ 2020-01-11 7:36 UTC (permalink / raw) To: Drew Adams; +Cc: Help Gnu Emacs mailing list Drew Adams <drew.adams@oracle.com> writes: > You can have any number of bookmark files, and they can be stored > anywhere. For vanilla Emacs bookmarks (I guess you spoke of bookmark+ bookmarks), this is not true: I tried to use `bookmark-file' as a file local variable - this has no effect. Then I tried with `bookmark-default-file' as file local variable - this is also ignored unless you bind `bookmark-bookmarks-timestamp' to nil in addition. While this finally worked and I could use a file-local bookmark file, my real bookmark file got erased in the process... I learned that authors of the vanilla bookmark code didn't intend to support using multiple bookmark files like this. Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-11 7:36 ` Michael Heerdegen @ 2020-01-11 10:00 ` Jean-Christophe Helary 2020-01-11 11:38 ` Michael Heerdegen 2020-01-11 16:00 ` Drew Adams 1 sibling, 1 reply; 60+ messages in thread From: Jean-Christophe Helary @ 2020-01-11 10:00 UTC (permalink / raw) To: Help Gnu Emacs mailing list > On Jan 11, 2020, at 16:36, Michael Heerdegen <michael_heerdegen@web.de> wrote: > > Drew Adams <drew.adams@oracle.com> writes: > >> You can have any number of bookmark files, and they can be stored >> anywhere. > > For vanilla Emacs bookmarks (I guess you spoke of bookmark+ bookmarks), > this is not true: I tried to use `bookmark-file' as a file local > variable - this has no effect. Then I tried with > `bookmark-default-file' as file local variable - this is also ignored > unless you bind `bookmark-bookmarks-timestamp' to nil in addition. > While this finally worked and I could use a file-local bookmark file, my > real bookmark file got erased in the process... > > I learned that authors of the vanilla bookmark code didn't intend to > support using multiple bookmark files like this. Isn't it possible to contribute modifications to the bookmark code ? Jean-Christophe Helary ----------------------------------------------- http://mac4translators.blogspot.com @brandelune ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-11 10:00 ` Jean-Christophe Helary @ 2020-01-11 11:38 ` Michael Heerdegen 0 siblings, 0 replies; 60+ messages in thread From: Michael Heerdegen @ 2020-01-11 11:38 UTC (permalink / raw) To: Jean-Christophe Helary; +Cc: Help Gnu Emacs mailing list Jean-Christophe Helary <jean.christophe.helary@traduction-libre.org> writes: > Isn't it possible to contribute modifications to the bookmark code ? Sure. It's just not on *my* agenda currently. Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-11 7:36 ` Michael Heerdegen 2020-01-11 10:00 ` Jean-Christophe Helary @ 2020-01-11 16:00 ` Drew Adams 2020-01-11 23:46 ` John Yates 2020-01-12 7:31 ` Michael Heerdegen 1 sibling, 2 replies; 60+ messages in thread From: Drew Adams @ 2020-01-11 16:00 UTC (permalink / raw) To: Michael Heerdegen; +Cc: Help Gnu Emacs mailing list > > You can have any number of bookmark files, and they can be stored > > anywhere. > > For vanilla Emacs bookmarks (I guess you spoke of bookmark+ bookmarks), > this is not true It is true also for vanilla Emacs. A bookmark file can be anywhere, and you can have any number of them. Even vanilla Emacs has command `bookmark-load', and that lets you load a bookmark file (located anywhere), either (1) replacing the existing set of current bookmarks or (2) adding to that existing set. > I tried to use `bookmark-file' as a file local > variable - this has no effect. `C-h v bookmark-file' tells you that it is "Old name for `bookmark-default-file'." The latter's name and doc string tell you that its value is just the _default_ location for a bookmark file, e.g. for prompting when you save or load: "File in which to save bookmarks by default." > Then I tried with > `bookmark-default-file' as file local variable - > this is also ignored unless you bind > `bookmark-bookmarks-timestamp' to nil in addition. > While this finally worked and I could use a > file-local bookmark file, my real bookmark file > got erased in the process... I don't understand what you're trying to do; sorry. You can have your own variables, file-local or not, to do anything, including to point to bookmark files, which can be anywhere. I think maybe you are confusing the default bookmark-file location with the location of a given bookmark file. But it's not clear to me just what you want to do. > I learned that authors of the vanilla bookmark code didn't intend to > support using multiple bookmark files like this. Dunno what "like this" means here. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-11 16:00 ` Drew Adams @ 2020-01-11 23:46 ` John Yates 2020-01-12 2:47 ` Drew Adams 2020-01-12 7:31 ` Michael Heerdegen 1 sibling, 1 reply; 60+ messages in thread From: John Yates @ 2020-01-11 23:46 UTC (permalink / raw) To: Drew Adams; +Cc: Michael Heerdegen, Help Gnu Emacs mailing list My read is that bookmarks share the same deficiency as tag tables. That is once loaded it is the user's responsibility to manage. /john On Sat, Jan 11, 2020 at 11:02 AM Drew Adams <drew.adams@oracle.com> wrote: > > > > You can have any number of bookmark files, and they can be stored > > > anywhere. > > > > For vanilla Emacs bookmarks (I guess you spoke of bookmark+ bookmarks), > > this is not true > > It is true also for vanilla Emacs. A bookmark file > can be anywhere, and you can have any number of them. > > Even vanilla Emacs has command `bookmark-load', and > that lets you load a bookmark file (located anywhere), > either (1) replacing the existing set of current > bookmarks or (2) adding to that existing set. > > > I tried to use `bookmark-file' as a file local > > variable - this has no effect. > > `C-h v bookmark-file' tells you that it is "Old name > for `bookmark-default-file'." The latter's name and > doc string tell you that its value is just the > _default_ location for a bookmark file, e.g. for > prompting when you save or load: > > "File in which to save bookmarks by default." > > > Then I tried with > > `bookmark-default-file' as file local variable - > > this is also ignored unless you bind > > `bookmark-bookmarks-timestamp' to nil in addition. > > While this finally worked and I could use a > > file-local bookmark file, my real bookmark file > > got erased in the process... > > I don't understand what you're trying to do; sorry. > You can have your own variables, file-local or not, > to do anything, including to point to bookmark files, > which can be anywhere. > > I think maybe you are confusing the default > bookmark-file location with the location of a given > bookmark file. But it's not clear to me just what > you want to do. > > > I learned that authors of the vanilla bookmark code didn't intend to > > support using multiple bookmark files like this. > > Dunno what "like this" means here. > -- John Yates 505 Tremont St, #803 Boston, MA 02116 ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-11 23:46 ` John Yates @ 2020-01-12 2:47 ` Drew Adams 0 siblings, 0 replies; 60+ messages in thread From: Drew Adams @ 2020-01-12 2:47 UTC (permalink / raw) To: John Yates; +Cc: Michael Heerdegen, Help Gnu Emacs mailing list > My read is that bookmarks share the same > deficiency as tag tables. That is once > loaded it is the user's responsibility > to manage. Dunno what that means. Could you elaborate? Like bookmark files, you can have any number of tag tables. And like bookmark files, you you can switch among tag files whenever you want. So yes, there are such similarities. And? That just means users can control their use. How is such control a "deficiency" or a "management responsibility"? And "once loaded" seems irrelevant. What management is forced on you by loading a tag file or a bookmark file? The same is true of any file you load, whether a file of customizations, function definitions, key bindings, synonyms, or anything else: once loaded, you can use the file content. Likewise, a mode. Once turned on, you can use its features, key bindings, etc. And you can turn it off or switch to another mode anytime. Likewise, a flash drive: Once inserted, you can use its files. And you can switch to a different drive anytime. Etc. What "deficiencies" are we talking about here? ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-11 16:00 ` Drew Adams 2020-01-11 23:46 ` John Yates @ 2020-01-12 7:31 ` Michael Heerdegen 2020-01-12 16:37 ` Drew Adams 1 sibling, 1 reply; 60+ messages in thread From: Michael Heerdegen @ 2020-01-12 7:31 UTC (permalink / raw) To: Drew Adams; +Cc: Help Gnu Emacs mailing list Drew Adams <drew.adams@oracle.com> writes: > I don't understand what you're trying to do; sorry. > You can have your own variables, file-local or not, > to do anything, including to point to bookmark files, > which can be anywhere. I tried to make a file use a separate bookmark file (for only this file's bookmarks) and specify the location of that bookmark file as a file local variable, somehow. How would you do that with vanilla bookmarks? Regards, Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-12 7:31 ` Michael Heerdegen @ 2020-01-12 16:37 ` Drew Adams 2020-01-14 7:08 ` Michael Heerdegen 0 siblings, 1 reply; 60+ messages in thread From: Drew Adams @ 2020-01-12 16:37 UTC (permalink / raw) To: Michael Heerdegen; +Cc: Help Gnu Emacs mailing list > I tried to make a file use a separate bookmark file (for only this > file's bookmarks) and specify the location of that bookmark file as a > file local variable, somehow. How would you do that with vanilla > bookmarks? I'm no expert on file-local variables. Looking at the doc for them, and throwing something together quickly, does this help? (defun create-bmk-file-for-file (bookmark-file target-file) "Create a new, empty BOOKMARK-FILE for TARGET-FILE." (interactive "FCreate bookmark file: \nFTarget file: ") (require 'bookmark) (let ((bookmark-alist ())) (let ((baud-rate 0)) (bookmark-write-file bookmark-file)) (with-current-buffer (find-file-noselect target-file) (add-file-local-variable 'local-bookmark-file bookmark-file) (save-buffer)))) (defun switch-to-local-bookmark-file () "Switch to local bookmark file for current file." (interactive) (hack-local-variables) (let ((bfile local-bookmark-file)) (bookmark-load bfile 'SWITCH))) `create-*' creates a new, empty BOOKMARK-FILE, and it adds its name to the file-local variables of the TARGET-FILE. `switch-*' should be used when visiting TARGET-FILE. It switches the current bookmark file to BOOKMARK-FILE. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-12 16:37 ` Drew Adams @ 2020-01-14 7:08 ` Michael Heerdegen 2020-01-14 17:32 ` Drew Adams 0 siblings, 1 reply; 60+ messages in thread From: Michael Heerdegen @ 2020-01-14 7:08 UTC (permalink / raw) To: Drew Adams; +Cc: Help Gnu Emacs mailing list Drew Adams <drew.adams@oracle.com> writes: > `create-*' creates a new, empty BOOKMARK-FILE, and > it adds its name to the file-local variables of the > TARGET-FILE. > > `switch-*' should be used when visiting TARGET-FILE. > It switches the current bookmark file to BOOKMARK-FILE. Thanks, that approach would probably work for what I have in mind. The second part would be saving: when I want to save back the file's "local bookmarks", how would I do that? I guess I would have to separate those bookmarks from the other bookmarks that were already loaded before the file had been visited. I obviously don't want to duplicate all the bookmarks from the default bookmark file. It would be good if the bookmark objects would know by themselves what their individual corresponding save place is. Thanks, Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-14 7:08 ` Michael Heerdegen @ 2020-01-14 17:32 ` Drew Adams 2020-01-15 23:10 ` Drew Adams 0 siblings, 1 reply; 60+ messages in thread From: Drew Adams @ 2020-01-14 17:32 UTC (permalink / raw) To: Michael Heerdegen; +Cc: Help Gnu Emacs mailing list > Thanks, that approach would probably work for what I have in mind. > > The second part would be saving: when I want to save back the file's > "local bookmarks", how would I do that? I guess I would have to > separate those bookmarks from the other bookmarks that were already > loaded before the file had been visited. I obviously don't want to > duplicate all the bookmarks from the default bookmark file. It would > be good if the bookmark objects would know by themselves what their > individual corresponding save place is. I don't quite follow (and I think this is maybe getting into the weeds now, for a general Emacs help list). What I suggested is switching to a bookmark file that has _only_ bookmarks for the target file, as opposed to just loading such a bookmark file to add to the already loaded bookmarks for targets elsewhere. You save those bookmarks by saving the bookmark file, i.e., by saving the current `bookmark-alist', i.e., by using `bookmark-save': bookmark-save is an interactive compiled Lisp function in 'bookmark+-1.el'. It is bound to C-x p s, menu-bar search bookmark save. (bookmark-save &optional PARG FILE) Save currently defined bookmarks. Save by default in the file named by variable 'bmkp-current-bookmark-file'. With a prefix arg, you are prompted for the file to save to. If 'bmkp-last-as-first-bookmark-file' is non-nil, update its value to the file being saved. To load bookmarks from a specific file, use 'C-x p l' ('bookmark-load'). If called from Lisp: With nil PARG and nil FILE, use file 'bmkp-current-bookmark-file'. With non-nil FILE, use file FILE. With non-nil PARG, prompt the user for the file to use. But there are other, i.e., additional, ways to group bookmarks, besides a bookmark file. As the doc says: Unlike the other ways of organizing bookmarks into sets (tags, bookmark-list bookmarks, etc.) bookmark files represent physical, not logical, groupings of bookmarks. Bookmarks themselves can be saved in any bookmark file, and in any number of different bookmark files. ^ permalink raw reply [flat|nested] 60+ messages in thread
* RE: Temporary notes in Emacs buffers? 2020-01-14 17:32 ` Drew Adams @ 2020-01-15 23:10 ` Drew Adams 0 siblings, 0 replies; 60+ messages in thread From: Drew Adams @ 2020-01-15 23:10 UTC (permalink / raw) To: Michael Heerdegen; +Cc: Help Gnu Emacs mailing list > What I suggested is switching to a bookmark file > that has _only_ bookmarks for the target file, > as opposed to just loading such a bookmark file > to add to the already loaded bookmarks for targets > elsewhere. ... > But there are other, i.e., additional, ways to group > bookmarks, besides a bookmark file. As the doc says: > > Unlike the other ways of organizing bookmarks into sets (tags, > bookmark-list bookmarks, etc.) bookmark files represent > physical, not logical, groupings of bookmarks. > > Bookmarks themselves can be saved in any bookmark > file, and in any number of different bookmark files. It occurred to me that this info might also help Michael (dunno). Instead of having a different bookmark file for each target file, to hold all bookmarks for it, you can use a filtered bookmark-list display that shows only those bookmarks. This is a logical grouping, not a physical grouping, as mentioned above. In the bookmark-list display (buffer `*Bookmark List*'), you can use `= f S' to show only bookmarks that target a given file (it prompts you for the file name). (Similarly, `= b S' shows only bookmarks that target a given non-file buffer.) Using different bookmark-list displays for organizing bookmarks is in many ways more flexible than using different bookmark files. Among other things, it lets you mark bookmarks and then act on them in various ways. (The Bookmark+ bookmark-list UI is much like Dired's.) --- Now let's suppose that you've done that, so `*Bookmark List*' shows all bookmarks for file `foo.nada', and no other bookmarks. That may well be all you need. But let's also suppose that you decide that, for some reason, you actually do want those bookmarks grouped physically, in their own bookmark file, so that `foo.nada' has its own, dedicated bookmark file. All you need to do for that is this: 1. Mark the bookmarks in `*Bookmark List*' (e.g. after filtering so it shows only bookmarks for `foo.nada'). 2. Use `Y > 0', to create a new bookmark file for just the marked bookmarks. Or use `C-u Y > 0' to do that plus create a bookmark to that bookmark file. Using this bookmark automatically loads that bookmark file (`C-x j y' anywhere, or `J y' in `*Bookmark List*', jumps to a bookmark-file bookmark, and with a prefix arg it switches to that bookmark file, instead of just adding its bookmarks.) You don't need to these remember key bindings. You can use the `Bookmark+' menu in buffer `*Bookmark List*'. In submenu `Bookmark File' you find most of the commands for using bookmark files: creating, copying or moving bookmarks among them, bookmarking them, etc. And in submenu `Jump To' you find item `Bookmark File' (`J y'). In `Bookmark+' > `Bookmark File' you find these menu items, along with their keys. Revert to Saved Bookmark File... C-u g Switch to Bookmark File... L Add Bookmarks from File... l Load Bookmark File, Mark Loaded... Load Bookmark File, Mark Only Loaded... Load Marked Bookmark-File Bookmarks... M-l ------------------------------------------------ Move Marked to Bookmark File... Y > - Copy Marked to Bookmark File... Y > + Copy Marked to New Bookmark File... Y > 0 Set Bookmark-File Bookmark from Marked... C-u Y > 0 Empty Bookmark File... C-x p 0 (`Switch to Bookmark File' also has global binding `C-x p L'. Menus are good for discovering operations and reminding about their key bindings. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-01 4:45 ` Drew Adams 2020-01-01 5:00 ` Michael Heerdegen @ 2020-01-02 17:48 ` Marcin Borkowski 1 sibling, 0 replies; 60+ messages in thread From: Marcin Borkowski @ 2020-01-02 17:48 UTC (permalink / raw) To: Drew Adams; +Cc: Michael Heerdegen, Help Gnu Emacs mailing list On 2020-01-01, at 05:45, Drew Adams <drew.adams@oracle.com> wrote: >> I also considered to implement something like that several times. >> >> We could use overlays to assign the positions and overlay properties to >> store note texts and metadata. When a buffer is edited, the overlay >> begin and end marker positions are updated by Emacs on the fly. I >> would use after-save-hook or so to make Emacs save that stuff >> automatically for every file save. Where it is saved would be (file >> locally) configurable: in a file local variable, in a directory local >> variable, or in a configurable central place. >> >> When you open a file, a minor-mode-hook would arrange that everything >> is restored. >> >> There would also be a variant for dired buffers to attach notes to >> whole files. > > FWIW: Marcin said he wasn't interested, but > Bookmark+ really does offer all of that already. I know that, but it is very big and thus daunting to me. Best, -- Marcin Borkowski http://mbork.pl ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-01 1:42 ` Michael Heerdegen 2020-01-01 4:45 ` Drew Adams @ 2020-01-02 17:48 ` Marcin Borkowski 1 sibling, 0 replies; 60+ messages in thread From: Marcin Borkowski @ 2020-01-02 17:48 UTC (permalink / raw) To: Michael Heerdegen; +Cc: Help Gnu Emacs mailing list On 2020-01-01, at 02:42, Michael Heerdegen <michael_heerdegen@web.de> wrote: > Marcin Borkowski <mbork@mbork.pl> writes: > >> At present, I use normal code comments, however, this is suboptimal, >> since I cannot use them in certain modes (occur buffer, JSON). > > Is that occur buffer saved to a file? Because, if it's a dynamically > created buffer, how could notes attached to it be durable at all? Yes, I have saved it. Best, -- Marcin Borkowski http://mbork.pl ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2019-12-27 10:19 Temporary notes in Emacs buffers? Marcin Borkowski ` (3 preceding siblings ...) 2020-01-01 1:42 ` Michael Heerdegen @ 2020-01-09 3:57 ` Michael Heerdegen 2020-01-15 18:43 ` Marcin Borkowski 4 siblings, 1 reply; 60+ messages in thread From: Michael Heerdegen @ 2020-01-09 3:57 UTC (permalink / raw) To: Marcin Borkowski; +Cc: Help Gnu Emacs mailing list [-- Attachment #1: Type: text/plain, Size: 774 bytes --] Marcin Borkowski <mbork@mbork.pl> writes: > I've been wondering if there is some package which could let me make > "temporary notes" in Emacs buffers, similar to (but different than) the > "yellow notes" in some pdf viewers. Just for fun I've created a template for how the least common multiple of our expectations could look like. I guess there are many different expectations of how contents, visualizations and ways of saving for notes could look like, so I made it so that all of that is changeable and extensible. I'm not yet sure what would have to be done to support mass annotation from occur buffers since I don't use them a lot. I'm also not sure where in the implementation I could rely on existing code - especially for saving (eieio-persistent maybe?). [-- Attachment #2: side-note.el --] [-- Type: application/emacs-lisp, Size: 3957 bytes --] [-- Attachment #3: Type: text/plain, Size: 20 bytes --] Thanks, Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-09 3:57 ` Michael Heerdegen @ 2020-01-15 18:43 ` Marcin Borkowski 2020-01-20 12:40 ` Michael Heerdegen 0 siblings, 1 reply; 60+ messages in thread From: Marcin Borkowski @ 2020-01-15 18:43 UTC (permalink / raw) To: Michael Heerdegen; +Cc: Help Gnu Emacs mailing list On 2020-01-09, at 04:57, Michael Heerdegen <michael_heerdegen@web.de> wrote: > Marcin Borkowski <mbork@mbork.pl> writes: > >> I've been wondering if there is some package which could let me make >> "temporary notes" in Emacs buffers, similar to (but different than) the >> "yellow notes" in some pdf viewers. > > Just for fun I've created a template for how the least common multiple > of our expectations could look like. I guess there are many different > expectations of how contents, visualizations and ways of saving for > notes could look like, so I made it so that all of that is changeable > and extensible. > > I'm not yet sure what would have to be done to support mass annotation > from occur buffers since I don't use them a lot. > > I'm also not sure where in the implementation I could rely on existing > code - especially for saving (eieio-persistent maybe?). Hi Michael, and thanks for this. (Unfortunately, I could no longer follow the discussion, because life & time, but I'd really like to catch up.) This looks quite interesting. Things I'd probably change would be: highlighting the region instead of the character at point, jumping to previous/next note, a list of notes, and an overlay showing the text of the note even without hovering on it. Of course, this would be a major effort, but I like your PoC. I'd really like to work on it, but realistically, I won't be able for at least several months:-(... Best, -- Marcin Borkowski http://mbork.pl ^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: Temporary notes in Emacs buffers? 2020-01-15 18:43 ` Marcin Borkowski @ 2020-01-20 12:40 ` Michael Heerdegen 0 siblings, 0 replies; 60+ messages in thread From: Michael Heerdegen @ 2020-01-20 12:40 UTC (permalink / raw) To: Marcin Borkowski; +Cc: Help Gnu Emacs mailing list Marcin Borkowski <mbork@mbork.pl> writes: > This looks quite interesting. Things I'd probably change would be: > highlighting the region instead of the character at point, jumping to > previous/next note, a list of notes, and an overlay showing the text of > the note even without hovering on it. Of course, this would be a major > effort, but I like your PoC. I'm going to add all of this, step by step. > I'd really like to work on it, but realistically, I won't be able for > at least several months:-(... I hope the approach is so that it's easy for others to join. For now I'll work on it when I feel like it. I'll keep you posted. Michael. ^ permalink raw reply [flat|nested] 60+ messages in thread
end of thread, other threads:[~2020-01-20 12:40 UTC | newest] Thread overview: 60+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-12-27 10:19 Temporary notes in Emacs buffers? Marcin Borkowski 2019-12-27 10:43 ` Mpho Jele 2019-12-27 11:51 ` tomas 2020-01-01 21:48 ` Marcin Borkowski 2019-12-27 15:54 ` Drew Adams 2020-01-02 17:49 ` Marcin Borkowski 2020-01-05 2:37 ` Michael Heerdegen 2020-01-05 17:54 ` Drew Adams 2020-01-06 5:18 ` Jean-Christophe Helary 2020-01-06 15:12 ` Drew Adams 2020-01-09 1:03 ` Michael Heerdegen 2020-01-09 23:35 ` arthur miller 2020-01-10 4:58 ` Michael Heerdegen 2020-01-10 9:30 ` Robert Pluim 2020-01-10 10:01 ` Michael Heerdegen 2020-01-10 17:04 ` Drew Adams 2020-01-10 9:10 ` Unknown 2019-12-27 17:48 ` Sharon Kimble 2020-01-01 1:42 ` Michael Heerdegen 2020-01-01 4:45 ` Drew Adams 2020-01-01 5:00 ` Michael Heerdegen 2020-01-01 6:25 ` Drew Adams 2020-01-01 20:34 ` John Yates 2020-01-01 21:19 ` Drew Adams 2020-01-01 21:47 ` Marcin Borkowski 2020-01-02 1:25 ` Michael Heerdegen 2020-01-02 3:16 ` Drew Adams 2020-01-02 3:45 ` Michael Heerdegen 2020-01-02 5:30 ` Drew Adams 2020-01-02 15:41 ` Drew Adams 2020-01-03 1:07 ` Michael Heerdegen 2020-01-03 3:35 ` John Yates 2020-01-03 6:38 ` Drew Adams 2020-01-03 7:06 ` Drew Adams 2020-01-04 6:39 ` Michael Heerdegen 2020-01-04 16:04 ` Drew Adams 2020-01-06 14:18 ` John Yates 2020-01-06 14:34 ` tomas 2020-01-06 15:19 ` John Yates 2020-01-06 15:31 ` tomas 2020-01-06 16:28 ` arthur miller 2020-01-03 7:00 ` Drew Adams 2020-01-03 13:31 ` arthur miller 2020-01-05 2:18 ` Michael Heerdegen 2020-01-11 7:36 ` Michael Heerdegen 2020-01-11 10:00 ` Jean-Christophe Helary 2020-01-11 11:38 ` Michael Heerdegen 2020-01-11 16:00 ` Drew Adams 2020-01-11 23:46 ` John Yates 2020-01-12 2:47 ` Drew Adams 2020-01-12 7:31 ` Michael Heerdegen 2020-01-12 16:37 ` Drew Adams 2020-01-14 7:08 ` Michael Heerdegen 2020-01-14 17:32 ` Drew Adams 2020-01-15 23:10 ` Drew Adams 2020-01-02 17:48 ` Marcin Borkowski 2020-01-02 17:48 ` Marcin Borkowski 2020-01-09 3:57 ` Michael Heerdegen 2020-01-15 18:43 ` Marcin Borkowski 2020-01-20 12:40 ` Michael Heerdegen
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).