RMM(1)

🌸 RMM(1) β€” the "remove nmh messages" page, bestie edition 🌸

okay so you wanna know about rmm from the General Commands Manual?? say less. this is remove nmh messages, and it's about to be your new fave. πŸ’…


✨ NAME ✨

rmm β€” remove nmh messages. that's it, that's the whole name. iconic brevity. πŸŽ€


✨ SYNOPSIS ✨

rmm [-help] [-version] [+folder] [msgs] [-unlink | -nounlink] [-rmmproc
     program] [-normmproc]

look at her. so much range. πŸ’–


✨ DESCRIPTION ✨

so by default, rmm does not actually delete anything β€” it removes the messages you asked for by renaming each of the message files with a site-dependent prefix (usually a comma 🫢). which means those files are still chillin' there, and they're gonna need to be removed in some manner after a period of time. many sites arrange for cron to remove these files once a day, so check with your system administrator β€” like, actually check, bestie, don't just assume. πŸ™ˆ

alternately, if you're feeling brave and you wish for rmm to really remove the files representing these messages, you can use the -unlink switch.

but messages removed by this method cannot be later recovered. πŸ’€ that's not a vibe check, that's a warning. gone is gone, no cap.

if you prefer a more sophisticated method of removing messages, you can define the rmmproc profile component. for example, you can add a profile component such as

rmmproc:    /home/foouser/bin/rmm_msgs

then instead of simply renaming the message file, rmm will call the named program or script to handle the files that represent the messages to be deleted. and the -rmmproc switch may be used to override this profile component. ✨

meanwhile the -normmproc switch disables the use of any rmmproc profile component and negates all prior -rmmproc switches. it's giving "reset the timeline." 🌈

an example of a rmmproc script that saves a message based in its Message-ID is provided in /etc/nmh/rmmproc.messageid. to enable it, simply add an rmmproc component that names it, to your profile. she's pre-written, she's ready, she's lowkey a gift. 🎁

some users of csh prefer the following:

alias rmm 'refile +d'

where folder +d is a folder for deleted messages, and

alias mexp 'rm `mhpath +d all`'

is used to β€œexpunge” deleted messages. very main character energy. πŸ‘‘

and one more thing bestie, super important: the current message is not changed by rmm, so a next will advance to the next message in the folder as expected. no surprise jumps, we love consistency. πŸ¦‹


✨ FILES ✨

  • $HOME/.mh_profile β€” The user profile

✨ PROFILE COMPONENTS ✨

  • Path: β€” To determine the user's nmh directory
  • Current-Folder: β€” To find the default current folder
  • rmmproc: β€” Program to delete the message

✨ SEE ALSO ✨

go read that one too, fr fr. πŸ“š


✨ DEFAULTS ✨

  • +folder defaults to the current folder
  • msgs defaults to cur
  • -nounlink

✨ CONTEXT ✨

If a folder is given, it will become the current folder. periodt. πŸ’…


✨ BUGS ✨

🚨 okay this one is the real tea: since rmm and refile use your rmmproc to delete the message, the rmmproc must not call rmm or refile without specifying -normmproc, or you will create an infinite loop. 😭

and that's not a cute little loop-de-loop, that's an actual infinite loop. do not do this. i'm begging. πŸ™


and that's the whole page, bestie!! this was nmh-1.8, dated 2013-03-19 β€” so go forth, rename those message files, and slay. πŸ«Άβœ¨πŸŽ€

πŸ“¦ where this page comes from