Reinstate documentation, also migrate use_domain to MCore.
[apps/madmutt.git] / lib-lua / madmutt.cpkg
index fd56f52..10cb39f 100644 (file)
@@ -55,24 +55,122 @@ static char *madmutt_init_homedir(void)
 #endif
 
 @package MCore {
+    /*
+     ** .pp
+     ** \fIThis is a read-only system property and specifies madmutt's
+     ** version string.\fP
+     */
     const string_t version    = VERSION;
+    /*
+     ** .pp
+     ** \fIThis is a read-only system property and specifies madmutt's
+     ** subversion revision string.\fP
+     */
     const string_t sysconfdir = SYSCONFDIR;
+    /*
+     ** .pp
+     ** \fIThis is a read-only system property and specifies the
+     ** directory containing the madmutt binary.\fP
+     */
     const string_t bindir     = BINDIR;
+    /*
+     ** .pp
+     ** \fIThis is a read-only system property and specifies the
+     ** directory containing the madmutt documentation.\fP
+     */
     const string_t docdir     = PKGDOCDIR;
+    /*
+     ** .pp
+     ** \fIThis is a read-only system property and specifies the
+     ** header chaching's database backend.\fP
+     */
     const string_t hcache_backend = HCACHE_BACKEND;
 
-    path_t dotlock     = m_strdup(BINDIR "/mutt_dotlock");
-    path_t editor      = m_strdup(getenv("VISUAL") ?: getenv("EDITOR") ?: "vi");
-    path_t shell       = madmutt_init_shell();
-    path_t username    = madmutt_init_username();
-    path_t homedir     = madmutt_init_homedir();
-    path_t tmpdir      = m_strdup(getenv("TMPDIR") ?: "/tmp");
-    rx_t   gecos_mask  = luaM_rxnew("^[^,]*");
+    /*
+     ** .pp
+     ** Contains the path of the \fTmadmutt_dotlock(1)\fP binary to be used by
+     ** Madmutt.
+     */
+    path_t dotlock        = m_strdup(BINDIR "/mutt_dotlock");
+    /*
+     ** .pp
+     ** This variable specifies which editor is used by Madmutt.
+     ** It defaults to the value of the \fT$$$VISUAL\fP, or \fT$$$EDITOR\fP, environment
+     ** variable, or to the string "\fTvi\fP" if neither of those are set.
+     */
+    path_t editor         = m_strdup(getenv("VISUAL") ?: getenv("EDITOR") ?: "vi");
+    /*
+     ** .pp
+     ** Command to use when spawning a subshell.  By default, the user's login
+     ** shell from \fT/etc/passwd\fP is used.
+     */
+    path_t shell          = madmutt_init_shell();
 
-    quadopt_t quit     = M_YES;
-    bool      beep     = 1;
-    bool      beep_new = 0;
+    /* TODO: document */
+    path_t username       = madmutt_init_username();
 
+    /* TODO: document */
+    path_t homedir        = madmutt_init_homedir();
+
+    /*
+     ** .pp
+     ** This variable allows you to specify where Madmutt will place its
+     ** temporary files needed for displaying and composing messages.  If
+     ** this variable is not set, the environment variable \fT$$$TMPDIR\fP is
+     ** used.  If \fT$$$TMPDIR\fP is not set then "\fT/tmp\fP" is used.
+     */
+    path_t tmpdir         = m_strdup(getenv("TMPDIR") ?: "/tmp");
+    /*
+     ** .pp
+     ** A regular expression used by Madmutt to parse the GECOS field of a password
+     ** entry when expanding the alias.  By default the regular expression is set
+     ** to ``\fT^[^,]*\fP'' which will return the string up to the first ``\fT,\fP'' encountered.
+     ** If the GECOS field contains a string like "lastname, firstname" then you
+     ** should do: \fTset gecos_mask=".*"\fP.
+     ** .pp
+     ** This can be useful if you see the following behavior: you address a e-mail
+     ** to user ID stevef whose full name is Steve Franklin.  If Madmutt expands
+     ** stevef to ``Franklin'' stevef@foo.bar then you should set the gecos_mask to
+     ** a regular expression that will match the whole name so Madmutt will expand
+     ** ``Franklin'' to ``Franklin, Steve''.
+     */
+    rx_t   gecos_mask     = luaM_rxnew("^[^,]*");
+
+    /*
+     ** .pp
+     ** This variable controls whether ``quit'' and ``exit'' actually quit
+     ** from Madmutt.  If it set to \fIyes\fP, they do quit, if it is set to \fIno\fP, they
+     ** have no effect, and if it is set to \fIask-yes\fP or \fIask-no\fP, you are
+     ** prompted for confirmation when you try to quit.
+     */
+    quadopt_t quit        = M_YES;
+    /*
+     ** .pp
+     ** When this variable is \fIset\fP, Madmutt will beep when an error occurs.
+     */
+    bool      beep        = 1;
+    /*
+     ** .pp
+     ** When this variable is \fIset\fP, Madmutt will beep whenever it prints a message
+     ** notifying you of new mail.  This is independent of the setting of the
+     ** ``$$beep'' variable.
+     */
+    bool      beep_new    = 0;
+
+    /*
+     ** .pp
+     ** When \fIset\fP, Madmutt will qualify all local addresses (ones without the
+     ** @host portion) with the value of ``$$hostname''.  If \fIunset\fP, no
+     ** addresses will be qualified.
+     */
+    bool      use_domain  = 1;
+
+    /*
+     ** .pp
+     ** \fIThis is a read-only system property and, at runtime,
+     ** specifies the current working directory of the madmutt
+     ** binary.\fP
+     */
     const string_t pwd(void) {
         char path[_POSIX_PATH_MAX];
         getcwd(path, sizeof(path));
@@ -81,11 +179,42 @@ static char *madmutt_init_homedir(void)
 };
 
 @package MTransport {
+    /*
+     ** .pp
+     ** Specifies the program and arguments used to deliver mail sent by Madmutt.
+     ** Madmutt expects that the specified program interprets additional
+     ** arguments as recipient addresses.
+     */
     path_t   sendmail = m_strdup(SENDMAIL " -eom -oi");
 
+    /*
+     ** .pp
+     ** \fBNote:\fP you should not enable this unless you are using Sendmail
+     ** 8.8.x or greater or in connection with the SMTP support via libESMTP.
+     ** .pp
+     ** This variable sets the request for when notification is returned.  The
+     ** string consists of a comma separated list (no spaces!) of one or more
+     ** of the following: \fInever\fP, to never request notification,
+     ** \fIfailure\fP, to request notification on transmission failure,
+     ** \fIdelay\fP, to be notified of message delays, \fIsuccess\fP, to be
+     ** notified of successful transmission.
+     ** .pp
+     ** Example: \fTset dsn_notify="failure,delay"\fP
+     */
     /* TODO: check it's NULL, hdrs or full */
     string_t dsn_notify = NULL;
 
+    /*
+     ** .pp
+     ** \fBNote:\fP you should not enable this unless you are using Sendmail
+     ** 8.8.x or greater or in connection with the SMTP support via libESMTP.
+     ** .pp
+     ** This variable controls how much of your message is returned in DSN
+     ** messages.  It may be set to either \fIhdrs\fP to return just the
+     ** message header, or \fIfull\fP to return the full message.
+     ** .pp
+     ** Example: \fTset dsn_return=hdrs\fP
+     */
     /* TODO: check it's never, delay, failure, success with ',' */
     string_t dsn_return = NULL;
 };