From: Nicolas Goaziou <mail@nicolasgoaziou.fr> To: Ihor Radchenko <yantar92@gmail.com> Cc: emacs-orgmode@gnu.org Subject: Re: [feature request] A new cookie type [!] showing the last note taken Date: Sun, 30 Aug 2020 13:03:00 +0200 [thread overview] Message-ID: <871rjo8kgr.fsf@nicolasgoaziou.fr> (raw) In-Reply-To: <875z90xvqk.fsf@localhost> (Ihor Radchenko's message of "Sun, 30 Aug 2020 18:40:19 +0800") Ihor Radchenko <yantar92@gmail.com> writes: > I was mainly referring to org-add-note. The last note taken with > org-add-note can be found quite reliably. > > I am using the following code saving the last note into :SUMMARY: > property upon exiting the note buffer. Though it may be an overkill, not > sure how easy would it be to parse the note syntax for notes created by > org-add-note. You cannot reliably. > (defvar yant/last-note-taken "" > "Text of the last note taken.") > > (define-advice org-store-log-note (:before (&rest args) yant/org-store-last-note) > "Store the last saved note into `yant/last-note-taken'." > (let ((txt (buffer-string))) > (while (string-match "\\`# .*\n[ \t\n]*" txt) > (setq txt (replace-match "" t t txt))) > (when (string-match "\\s-+\\'" txt) > (setq txt (replace-match " " t t txt))) > (when (string-match "\n" txt) > (setq txt (replace-match " " t t txt))) > (if (not (seq-empty-p txt)) > (setq yant/last-note-taken txt)))) > > (define-advice org-store-log-note (:after (&rest args) yant/org-save-last-note-into-summary-prop) > "Save the last saved note into SUMMARY property." > (when (and (not org-note-abort) (not (seq-empty-p yant/last-note-taken))) > (if (eq major-mode 'org-agenda-mode) > (org-with-point-at-org-buffer > (org-set-property "SUMMARY" (or yant/last-note-taken ""))) > (org-set-property "SUMMARY" (or yant/last-note-taken ""))) > (setq yant/last-note-taken nil))) This implementation is only tangentially related to a "last note". You want to introduce some syntax to display the value a given property, here SUMMARY. But `org-add-note' is not the only way to add a note. Again, on a given document, you can only guess what is the "last note". This is not reliable enough to extend the syntax. Regards,
next prev parent reply other threads:[~2020-08-30 11:03 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-08-29 6:40 Ihor Radchenko 2020-08-30 8:50 ` Nicolas Goaziou 2020-08-30 10:40 ` Ihor Radchenko 2020-08-30 11:03 ` Nicolas Goaziou [this message] 2020-08-30 12:18 ` Ihor Radchenko 2020-08-30 12:57 ` Nicolas Goaziou 2020-08-30 14:58 ` Eric Abrahamsen 2020-08-31 2:26 ` Ihor Radchenko 2020-08-31 8:42 ` Julius Müller 2020-08-31 11:55 ` Ihor Radchenko 2020-08-31 14:58 ` Nicolas Goaziou 2020-09-02 2:02 ` Ihor Radchenko 2020-09-03 9:16 ` Nicolas Goaziou 2020-09-05 5:52 ` Ihor Radchenko 2020-09-09 14:00 ` Nicolas Goaziou 2020-09-10 9:24 ` Ihor Radchenko 2020-09-13 13:09 ` Nicolas Goaziou 2020-09-14 19:49 ` Eric Abrahamsen 2020-09-05 22:14 ` Allen Li 2020-09-06 1:23 ` Ihor Radchenko 2020-09-06 18:16 ` Eric Abrahamsen 2021-01-17 15:38 ` Christopher Miles 2021-01-18 2:07 ` Ihor Radchenko
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: https://www.orgmode.org/ * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=871rjo8kgr.fsf@nicolasgoaziou.fr \ --to=mail@nicolasgoaziou.fr \ --cc=emacs-orgmode@gnu.org \ --cc=yantar92@gmail.com \ --subject='Re: [feature request] A new cookie type ['\!'] showing the last note taken' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Code repositories for project(s) associated with this inbox: https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).