Package: emacs;
Reported by: Matthias Meulien <orontee <at> gmail.com>
Date: Mon, 13 Jan 2025 22:18:01 UTC
Severity: wishlist
Tags: patch
Found in version 30.0.93
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Matthias Meulien <orontee <at> gmail.com> To: 75543 <at> debbugs.gnu.org Subject: bug#75543: 30.0.93; Turn remember mode into a minor mode Date: Mon, 13 Jan 2025 23:16:48 +0100
[Message part 1 (text/plain, inline)]
Remember Mode is great but I encountered two limitations: - The major mode to edit data to remember is hard-coded to `text-mode' where one may want to use Enriched text, Markdown, etc. modes - A possible workflow is to select the file to store the data dynamically, after the data to remember has been edited A patch is attached that turn `remember-mode' into a minor mode and define a customizable variable `remember-initial-major-mode' to select the major mode used to edit data to remember. It also defines the `remember-append-in-data-directory' handler that covers the second limitation. Finally, a prefix map is defined for the `remember', `remember-clipboard', and `remember-notes' commands. I am using analogous modifications to maintain my personnal notes in Markdown format. I don't claim the patch is to be used as is, but I think it illustrate possible evolutions of the simple but great Remember mode. Are such changes acceptable and pertinent? Is it worth to fine tune the patch? Comments welcome! (I know of Org Capture mode but don't understand why capturing notes relates to Org mode and I am not interested in Org markup langage; No judgement, just used to Makdown). In GNU Emacs 30.0.93 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.16.0) of 2025-01-01 built on peitho Repository revision: 7acfea19358da3a02e5884f5e7d56c87d7b16616 Repository branch: emacs-30 System Description: Debian GNU/Linux 12 (bookworm) Configured using: 'configure --with-pgtk CFLAGS=-O3' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB Important settings: value of $LANG: fr_FR.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Shell Minor modes in effect: goto-address-mode: t highlight-changes-visible-mode: t pulsar-global-mode: t pulsar-mode: t breadcrumb-mode: t desktop-save-mode: t spacious-padding-mode: t savehist-mode: t server-mode: t pixel-scroll-precision-mode: t save-place-mode: t shell-dirtrack-mode: t comint-fontify-input-mode: t electric-pair-mode: t global-corfu-mode: t corfu-mode: t marginalia-mode: t vertico-mode: t global-display-fill-column-indicator-mode: t global-so-long-mode: t global-auto-revert-mode: t auto-insert-mode: t which-key-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-layout-mode: t electric-indent-mode: t mouse-wheel-mode: t tab-bar-mode: t file-name-shadow-mode: t context-menu-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t window-divider-mode: t minibuffer-regexp-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/matthias/.config/emacs/elpa/which-key-20240620.2145/which-key hides /usr/local/share/emacs/30.0.93/lisp/which-key /home/matthias/.config/emacs/elpa/modus-themes-20250107.1034/theme-loaddefs hides /usr/local/share/emacs/30.0.93/lisp/theme-loaddefs Features: (shadow sort mail-extr emacsbug pcmpl-unix pcmpl-gnu vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view pcvs-util tramp-cache time-stamp shortdoc find-dired ffap dabbrev hl-line grep quail rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-enc xmltok mhtml-mode css-mode js sgml-mode facemenu make-mode generic disp-table cmake-mode rst yaml-ts-mode tabify cus-start help-fns radix-tree mule-util etags fileloop misearch multi-isearch dired-aux vc-dir vc oc-basic ol-eww eww url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range message sendmail yank-media puny rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util mail-utils range mm-util mail-prsvr ol-docview doc-view image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi gptel-org org-element org-persist org-id org-refile org-element-ast inline avl-tree generator org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script smie executable ob-comint org-pcomplete org-list org-footnote org-faces org-entities ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs cal-menu calendar cal-loaddefs org-version org-compat org-macs jka-compr goto-addr texinfo texinfo-loaddefs bug-reference display-line-numbers hilit-chg pulsar eglot external-completion jsonrpc flymake ert ewoc debug backtrace breadcrumb pulse imenu gptel-ollama gptel gptel-openai peitho-custom cus-edit cus-load wid-edit dired-x dired dired-loaddefs xref reftex reftex-loaddefs reftex-vars tex-mode compile markdown-mode edit-indirect color sql view thingatpt scheme info-look python project pcase c++-ts-mode c-ts-mode c-ts-common treesit skeleton find-file gdb-mi bindat gud noutline outline ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util smerge-mode diff vc-git diff-mode track-changes vc-dispatcher glasses whitespace guess-language flyspell find-func ispell comp comp-cstr cl-extra warnings comp-run comp-common desktop frameset spacious-padding modus-vivendi-tritanopia-theme modus-vivendi-deuteranopia-theme modus-vivendi-tinted-theme modus-vivendi-theme modus-operandi-tritanopia-theme modus-operandi-deuteranopia-theme modus-operandi-tinted-theme modus-operandi-theme modus-themes savehist server bookmark text-property-search pp pixel-scroll cua-base time tar-mode arc-mode archive-mode saveplace tramp-sh tramp trampver tramp-integration files-x tramp-message help-mode tramp-compat xdg shell pcomplete comint ansi-osc ring parse-time iso8601 time-date format-spec ansi-color tramp-loaddefs elec-pair corfu marginalia vertico compat easy-mmode display-fill-column-indicator so-long autorevert filenotify autoinsert cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs generic-x derived remember diminish which-key face-remap CMake-doc-autoloads Python-doc-autoloads breadcrumb-autoloads cmake-mode-autoloads consult-autoloads corfu-autoloads debbugs-autoloads devhelp-autoloads diminish-autoloads edit-indirect-autoloads git-link-autoloads gnu-elpa-keyring-update-autoloads gptel-autoloads guess-language-autoloads marginalia-autoloads markdown-mode-autoloads meson-mode-autoloads modus-themes-autoloads nginx-mode-autoloads powershell-autoloads pulsar-autoloads restclient-autoloads rfc-mode-autoloads info spacious-padding-autoloads speechd-el-autoloads systemd-autoloads rx tldr-autoloads vertico-autoloads which-key-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win touch-screen pgtk-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo gtk pgtk lcms2 multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 1069376 162349) (symbols 48 45056 0) (strings 32 184191 10737) (string-bytes 1 6917497) (vectors 16 85172) (vector-slots 8 1880049 212634) (floats 8 1010 1581) (intervals 56 33362 1873) (buffers 992 143)) -- Matthias
[Message part 2 (text/html, inline)]
[0001-Turn-remember-mode-into-a-minor-mode.patch (text/x-patch, attachment)]
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.