NeoMutt  2024-03-23-147-g885fbc
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
lib.h File Reference

Convenience wrapper for the debug headers. More...

#include <stddef.h>
#include <stdbool.h>
#include <time.h>
#include "mutt/lib.h"
#include "email/lib.h"
#include "core/lib.h"
#include "gui/lib.h"
#include "expando/lib.h"
#include "menu/lib.h"
+ Include dependency graph for lib.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void add_flag (struct Buffer *buf, bool is_set, const char *name)
 
void show_backtrace (void)
 Log the program's call stack.
 
char body_name (const struct Body *b)
 
void dump_addr_list (char *buf, size_t buflen, const struct AddressList *al, const char *name)
 
void dump_attach (const struct AttachPtr *att)
 
void dump_body (const struct Body *body)
 
void dump_body_next (struct Buffer *buf, const struct Body *b)
 
void dump_body_one_line (const struct Body *b)
 
void dump_email (const struct Email *e)
 
void dump_envelope (const struct Envelope *env)
 
void dump_list_head (const struct ListHead *list, const char *name)
 
void dump_param_list (const struct ParameterList *pl)
 
const char * name_expando_domain (enum ExpandoDomain did)
 
const char * name_expando_node_type (enum ExpandoNodeType type)
 
const char * name_expando_pad_type (enum ExpandoPadType type)
 
const char * name_expando_uid (enum ExpandoDomain did, int uid)
 
const char * name_expando_uid_alias (int uid)
 
const char * name_expando_uid_all (int uid)
 
const char * name_expando_uid_attach (int uid)
 
const char * name_expando_uid_autocrypt (int uid)
 
const char * name_expando_uid_body (int uid)
 
const char * name_expando_uid_compose (int uid)
 
const char * name_expando_uid_compress (int uid)
 
const char * name_expando_uid_email (int uid)
 
const char * name_expando_uid_envelope (int uid)
 
const char * name_expando_uid_folder (int uid)
 
const char * name_expando_uid_global (int uid)
 
const char * name_expando_uid_history (int uid)
 
const char * name_expando_uid_index (int uid)
 
const char * name_expando_uid_mailbox (int uid)
 
const char * name_expando_uid_menu (int uid)
 
const char * name_expando_uid_mixmaster (int uid)
 
const char * name_expando_uid_nntp (int uid)
 
const char * name_expando_uid_pattern (int uid)
 
const char * name_expando_uid_pgp (int uid)
 
const char * name_expando_uid_pgp_cmd (int uid)
 
const char * name_expando_uid_pgp_key (int uid)
 
const char * name_expando_uid_pgp_key_gpgme (int uid)
 
const char * name_expando_uid_sidebar (int uid)
 
const char * name_expando_uid_smime_cmd (int uid)
 
const char * name_format_justify (enum FormatJustify just)
 
void dump_graphviz (const char *title, struct MailboxView *mv)
 
void dump_graphviz_attach_ctx (struct AttachCtx *actx)
 
void dump_graphviz_body (struct Body *b)
 
void dump_graphviz_email (struct Email *e, const char *title)
 
void dump_graphviz_expando_node (struct ExpandoNode *node)
 
void dump_keybindings (void)
 Dump all the keybindings to the log.
 
int log_disp_debug (time_t stamp, const char *file, int line, const char *function, enum LogLevel level, const char *format,...)
 Display a log line on screen - Implements log_dispatcher_t -.
 
const char * name_content_disposition (enum ContentDisposition disp)
 
const char * name_content_encoding (enum ContentEncoding enc)
 
const char * name_content_type (enum ContentType type)
 
const char * name_mailbox_type (enum MailboxType type)
 
const char * name_menu_type (enum MenuType mt)
 
const char * name_notify_config (int id)
 
const char * name_notify_global (int id)
 
const char * name_notify_mailbox (int id)
 
const char * name_notify_mview (int id)
 
const char * name_notify_type (enum NotifyType type)
 
const char * name_window_size (const struct MuttWindow *win)
 
const char * name_window_type (const struct MuttWindow *win)
 
int debug_all_observer (struct NotifyCallback *nc)
 
void dump_pager (struct PagerPrivateData *priv)
 
void debug_win_dump (void)
 

Variables

bool DebugLogColor
 Output ANSI colours.
 
bool DebugLogLevel
 Prefix log level, e.g. [E].
 
bool DebugLogTimestamp
 Show the timestamp.
 

Detailed Description

Convenience wrapper for the debug headers.

Authors
  • Richard Russon

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Definition in file lib.h.

Function Documentation

◆ add_flag()

void add_flag ( struct Buffer buf,
bool  is_set,
const char *  name 
)

Definition at line 34 of file common.c.

35{
36 if (!buf || !name)
37 return;
38
39 if (is_set)
40 {
41 if (!buf_is_empty(buf))
42 buf_addch(buf, ',');
43 buf_addstr(buf, name);
44 }
45}
bool buf_is_empty(const struct Buffer *buf)
Is the Buffer empty?
Definition: buffer.c:290
size_t buf_addch(struct Buffer *buf, char c)
Add a single character to a Buffer.
Definition: buffer.c:240
size_t buf_addstr(struct Buffer *buf, const char *s)
Add a string to a Buffer.
Definition: buffer.c:225
+ Here is the call graph for this function:

◆ show_backtrace()

void show_backtrace ( void  )

Log the program's call stack.

Definition at line 39 of file backtrace.c.

40{
41 unw_cursor_t cursor;
42 unw_context_t uc;
43 unw_word_t ip, sp;
44 char buf[256];
45
46 printf("\n%s\n", mutt_make_version());
47 printf("Backtrace\n");
48 mutt_debug(LL_DEBUG1, "\nBacktrace\n");
49 unw_getcontext(&uc);
50 unw_init_local(&cursor, &uc);
51 while (unw_step(&cursor) > 0)
52 {
53 unw_get_reg(&cursor, UNW_REG_IP, &ip);
54 unw_get_reg(&cursor, UNW_REG_SP, &sp);
55 unw_get_proc_name(&cursor, buf, sizeof(buf), &ip);
56 if (buf[0] == '_')
57 continue;
58 printf(" %s() ip = %lx, sp = %lx\n", buf, (long) ip, (long) sp);
59 mutt_debug(LL_DEBUG1, " %s() ip = %lx, sp = %lx\n", buf, (long) ip, (long) sp);
60 }
61 printf("\n");
62}
#define mutt_debug(LEVEL,...)
Definition: logging2.h:89
@ LL_DEBUG1
Log at debug level 1.
Definition: logging2.h:43
const char * mutt_make_version(void)
Generate the NeoMutt version string.
Definition: muttlib.c:893
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ body_name()

char body_name ( const struct Body b)

Definition at line 373 of file email.c.

374{
375 if (!b)
376 return '!';
377
378 if (b->type == TYPE_MULTIPART)
379 return '&';
380
381 if (b->description)
382 return b->description[0];
383
384 if (b->filename)
385 {
386 const char *base = basename(b->filename);
387 if (mutt_str_startswith(base, "neomutt-"))
388 return '0';
389
390 return base[0];
391 }
392
393 return '!';
394}
@ TYPE_MULTIPART
Type: 'multipart/*'.
Definition: mime.h:37
size_t mutt_str_startswith(const char *str, const char *prefix)
Check whether a string starts with a prefix.
Definition: string.c:230
char * description
content-description
Definition: body.h:55
unsigned int type
content-type primary type, ContentType
Definition: body.h:40
char * filename
When sending a message, this is the file to which this structure refers.
Definition: body.h:58
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dump_addr_list()

void dump_addr_list ( char *  buf,
size_t  buflen,
const struct AddressList *  al,
const char *  name 
)

Definition at line 40 of file email.c.

41{
42 if (!buf || !al)
43 return;
44 if (TAILQ_EMPTY(al))
45 return;
46
47 buf[0] = '\0';
48 struct Buffer *tmpbuf = buf_pool_get();
49 mutt_addrlist_write(al, tmpbuf, true);
50 mutt_str_copy(buf, buf_string(tmpbuf), buflen);
51 buf_pool_release(&tmpbuf);
52
53 mutt_debug(LL_DEBUG1, "\t%s: %s\n", name, buf);
54}
size_t mutt_addrlist_write(const struct AddressList *al, struct Buffer *buf, bool display)
Write an Address to a buffer.
Definition: address.c:1206
static const char * buf_string(const struct Buffer *buf)
Convert a buffer to a const char * "string".
Definition: buffer.h:96
size_t mutt_str_copy(char *dest, const char *src, size_t dsize)
Copy a string into a buffer (guaranteeing NUL-termination)
Definition: string.c:630
struct Buffer * buf_pool_get(void)
Get a Buffer from the pool.
Definition: pool.c:81
void buf_pool_release(struct Buffer **ptr)
Return a Buffer to the pool.
Definition: pool.c:94
#define TAILQ_EMPTY(head)
Definition: queue.h:721
String manipulation buffer.
Definition: buffer.h:36
+ Here is the call graph for this function:

◆ dump_attach()

void dump_attach ( const struct AttachPtr att)

Definition at line 345 of file email.c.

346{
347 mutt_debug(LL_DEBUG1, "AttachPtr\n");
348
349 if (!att)
350 {
351 mutt_debug(LL_DEBUG1, "\tNULL pointer\n");
352 return;
353 }
354
355 struct Buffer *buf = buf_pool_get();
356
357#define ADD_FLAG(F) add_flag(buf, att->F, #F)
358 ADD_FLAG(unowned);
359 ADD_FLAG(decrypted);
360 ADD_FLAG(collapsed);
361#undef ADD_FLAG
362
363 if (att->fp)
364 mutt_debug(LL_DEBUG1, "\tfp: %p (%d)\n", (void *) att->fp, fileno(att->fp));
365 mutt_debug(LL_DEBUG1, "\tparent_type: %d\n", att->parent_type);
366 mutt_debug(LL_DEBUG1, "\tlevel: %d\n", att->level);
367 mutt_debug(LL_DEBUG1, "\tnum: %d\n", att->num);
368
369 // struct Body *content; ///< Attachment
370 buf_pool_release(&buf);
371}
#define ADD_FLAG(F)
int num
Attachment index number.
Definition: attach.h:43
int level
Nesting depth of attachment.
Definition: attach.h:42
FILE * fp
Used in the recvattach menu.
Definition: attach.h:39
int parent_type
Type of parent attachment, e.g. TYPE_MULTIPART.
Definition: attach.h:40
+ Here is the call graph for this function:

◆ dump_body()

void dump_body ( const struct Body body)

Definition at line 262 of file email.c.

263{
264 mutt_debug(LL_DEBUG1, "Body\n");
265
266 if (!body)
267 {
268 mutt_debug(LL_DEBUG1, "\tNULL pointer\n");
269 return;
270 }
271
272 struct Buffer *buf = buf_pool_get();
273 char arr[256];
274
275#define ADD_FLAG(F) add_flag(buf, body->F, #F)
276 ADD_FLAG(attach_qualifies);
277 ADD_FLAG(badsig);
278 ADD_FLAG(deleted);
279 ADD_FLAG(force_charset);
280 ADD_FLAG(goodsig);
281#ifdef USE_AUTOCRYPT
282 ADD_FLAG(is_autocrypt);
283#endif
284 ADD_FLAG(noconv);
285 ADD_FLAG(tagged);
286 ADD_FLAG(unlink);
287 ADD_FLAG(use_disp);
288 ADD_FLAG(warnsig);
289#undef ADD_FLAG
290 mutt_debug(LL_DEBUG1, "\tFlags: %s\n", buf_is_empty(buf) ? "[NONE]" : buf_string(buf));
291
292#define OPT_STRING(S) \
293 if (body->S) \
294 mutt_debug(LL_DEBUG1, "\t%s: %s\n", #S, body->S)
295 OPT_STRING(charset);
296 OPT_STRING(description);
297 OPT_STRING(d_filename);
298 OPT_STRING(filename);
299 OPT_STRING(form_name);
300 OPT_STRING(language);
301 OPT_STRING(subtype);
302 OPT_STRING(xtype);
303#undef OPT_STRING
304
305 mutt_debug(LL_DEBUG1, "\thdr_offset: %ld\n", body->hdr_offset);
306 mutt_debug(LL_DEBUG1, "\toffset: %ld\n", body->offset);
307 mutt_debug(LL_DEBUG1, "\tlength: %ld\n", body->length);
308 mutt_debug(LL_DEBUG1, "\tattach_count: %d\n", body->attach_count);
309
310 mutt_debug(LL_DEBUG1, "\tcontent type: %s\n", name_content_type(body->type));
311 mutt_debug(LL_DEBUG1, "\tcontent encoding: %s\n", name_content_encoding(body->encoding));
312 mutt_debug(LL_DEBUG1, "\tcontent disposition: %s\n",
314
315 if (body->stamp != 0)
316 {
317 mutt_date_make_tls(arr, sizeof(arr), body->stamp);
318 mutt_debug(LL_DEBUG1, "\tstamp: %s\n", arr);
319 }
320
322
323 // struct Content *content; ///< Detailed info about the content of the attachment.
324 // struct Body *next; ///< next attachment in the list
325 // struct Body *parts; ///< parts of a multipart or message/rfc822
326 // struct Email *email; ///< header information for message/rfc822
327 // struct AttachPtr *aptr; ///< Menu information, used in recvattach.c
328 // struct Envelope *mime_headers; ///< Memory hole protected headers
329
330 if (body->next)
331 {
332 mutt_debug(LL_DEBUG1, "-NEXT-------------------------\n");
333 dump_body(body->next);
334 }
335 if (body->parts)
336 {
337 mutt_debug(LL_DEBUG1, "-PARTS-------------------------\n");
338 dump_body(body->parts);
339 }
340 if (body->next || body->parts)
341 mutt_debug(LL_DEBUG1, "--------------------------\n");
342 buf_pool_release(&buf);
343}
#define OPT_STRING(S)
void dump_param_list(const struct ParameterList *pl)
Definition: email.c:239
void dump_body(const struct Body *body)
Definition: email.c:262
const char * name_content_encoding(enum ContentEncoding enc)
Definition: names.c:65
const char * name_content_type(enum ContentType type)
Definition: names.c:47
const char * name_content_disposition(enum ContentDisposition disp)
Definition: names.c:80
int mutt_date_make_tls(char *buf, size_t buflen, time_t timestamp)
Format date in TLS certificate verification style.
Definition: date.c:836
struct Body * parts
parts of a multipart or message/rfc822
Definition: body.h:72
LOFF_T offset
offset where the actual data begins
Definition: body.h:52
signed short attach_count
Number of attachments.
Definition: body.h:90
time_t stamp
Time stamp of last encoding update.
Definition: body.h:76
LOFF_T length
length (in bytes) of attachment
Definition: body.h:53
struct ParameterList parameter
Parameters of the content-type.
Definition: body.h:62
unsigned int disposition
content-disposition, ContentDisposition
Definition: body.h:42
struct Body * next
next attachment in the list
Definition: body.h:71
unsigned int encoding
content-transfer-encoding, ContentEncoding
Definition: body.h:41
long hdr_offset
Offset in stream where the headers begin.
Definition: body.h:80
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dump_body_next()

void dump_body_next ( struct Buffer buf,
const struct Body b 
)

Definition at line 396 of file email.c.

397{
398 if (!b)
399 return;
400
401 buf_addstr(buf, "<");
402 for (; b; b = b->next)
403 {
404 buf_add_printf(buf, "%c", body_name(b));
405 dump_body_next(buf, b->parts);
406 if (b->next)
407 buf_addch(buf, ',');
408 }
409 buf_addstr(buf, ">");
410}
int buf_add_printf(struct Buffer *buf, const char *fmt,...)
Format a string appending a Buffer.
Definition: buffer.c:203
void dump_body_next(struct Buffer *buf, const struct Body *b)
Definition: email.c:396
char body_name(const struct Body *b)
Definition: email.c:373
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dump_body_one_line()

void dump_body_one_line ( const struct Body b)

Definition at line 412 of file email.c.

413{
414 if (!b)
415 return;
416
417 struct Buffer *buf = buf_pool_get();
418 buf_addstr(buf, "Body layout: ");
419 dump_body_next(buf, b);
420
421 mutt_message("%s", buf_string(buf));
422 buf_pool_release(&buf);
423}
#define mutt_message(...)
Definition: logging2.h:91
+ Here is the call graph for this function:

◆ dump_email()

void dump_email ( const struct Email e)

Definition at line 147 of file email.c.

148{
149 mutt_debug(LL_DEBUG1, "Email\n");
150
151 if (!e)
152 {
153 mutt_debug(LL_DEBUG1, "\tNULL pointer\n");
154 return;
155 }
156
157 struct Buffer *buf = buf_pool_get();
158 char arr[256];
159
160 mutt_debug(LL_DEBUG1, "\tpath: %s\n", e->path);
161
162#define ADD_FLAG(F) add_flag(buf, e->F, #F)
163 ADD_FLAG(active);
164 ADD_FLAG(attach_del);
165 ADD_FLAG(attach_valid);
166 ADD_FLAG(changed);
167 ADD_FLAG(collapsed);
168 ADD_FLAG(deleted);
169 ADD_FLAG(display_subject);
170 ADD_FLAG(expired);
171 ADD_FLAG(flagged);
172 ADD_FLAG(matched);
173 ADD_FLAG(mime);
174 ADD_FLAG(old);
175 ADD_FLAG(purge);
176 ADD_FLAG(quasi_deleted);
177 ADD_FLAG(read);
178 ADD_FLAG(recip_valid);
179 ADD_FLAG(replied);
180 ADD_FLAG(searched);
181 ADD_FLAG(subject_changed);
182 ADD_FLAG(superseded);
183 ADD_FLAG(tagged);
184 ADD_FLAG(threaded);
185 ADD_FLAG(trash);
186 ADD_FLAG(visible);
187#undef ADD_FLAG
188 mutt_debug(LL_DEBUG1, "\tFlags: %s\n", buf_is_empty(buf) ? "[NONE]" : buf_string(buf));
189
190#define ADD_FLAG(F) add_flag(buf, (e->security & F), #F)
191 buf_reset(buf);
206#undef ADD_FLAG
207 mutt_debug(LL_DEBUG1, "\tSecurity: %s\n", buf_is_empty(buf) ? "[NONE]" : buf_string(buf));
208
209 mutt_date_make_tls(arr, sizeof(arr), e->date_sent);
210 mutt_debug(LL_DEBUG1, "\tSent: %s (%c%02u%02u)\n", arr,
211 e->zoccident ? '-' : '+', e->zhours, e->zminutes);
212
213 mutt_date_make_tls(arr, sizeof(arr), e->received);
214 mutt_debug(LL_DEBUG1, "\tRecv: %s\n", arr);
215
216 buf_pool_release(&buf);
217
218 mutt_debug(LL_DEBUG1, "\tnum_hidden: %ld\n", e->num_hidden);
219 mutt_debug(LL_DEBUG1, "\trecipient: %d\n", e->recipient);
220 mutt_debug(LL_DEBUG1, "\toffset: %ld\n", e->offset);
221 mutt_debug(LL_DEBUG1, "\tlines: %d\n", e->lines);
222 mutt_debug(LL_DEBUG1, "\tindex: %d\n", e->index);
223 mutt_debug(LL_DEBUG1, "\tmsgno: %d\n", e->msgno);
224 mutt_debug(LL_DEBUG1, "\tvnum: %d\n", e->vnum);
225 mutt_debug(LL_DEBUG1, "\tscore: %d\n", e->score);
226 mutt_debug(LL_DEBUG1, "\tattach_total: %d\n", e->attach_total);
227 // if (e->maildir_flags)
228 // mutt_debug(LL_DEBUG1, "\tmaildir_flags: %s\n", e->maildir_flags);
229
230 // struct MuttThread *thread
231 // struct Envelope *env
232 // struct Body *content
233 // struct TagList tags
234
235 // void *edata
236 buf_dealloc(&buf);
237}
void buf_dealloc(struct Buffer *buf)
Release the memory allocated by a buffer.
Definition: buffer.c:376
void buf_reset(struct Buffer *buf)
Reset an existing Buffer.
Definition: buffer.c:75
#define SEC_INLINE
Email has an inline signature.
Definition: lib.h:85
#define SEC_AUTOCRYPT
(Autocrypt) Message will be, or was Autocrypt encrypt+signed
Definition: lib.h:87
#define SEC_OPPENCRYPT
Opportunistic encrypt mode.
Definition: lib.h:86
#define PGP_TRADITIONAL_CHECKED
Email has a traditional (inline) signature.
Definition: lib.h:92
#define SEC_GOODSIGN
Email has a valid signature.
Definition: lib.h:80
#define APPLICATION_PGP
Use PGP to encrypt/sign.
Definition: lib.h:90
#define SEC_SIGNOPAQUE
Email has an opaque signature (encrypted)
Definition: lib.h:83
#define SEC_BADSIGN
Email has a bad signature.
Definition: lib.h:81
#define APPLICATION_SMIME
Use SMIME to encrypt/sign.
Definition: lib.h:91
#define SEC_PARTSIGN
Not all parts of the email is signed.
Definition: lib.h:82
#define SEC_ENCRYPT
Email is encrypted.
Definition: lib.h:78
#define SEC_AUTOCRYPT_OVERRIDE
(Autocrypt) Indicates manual set/unset of encryption
Definition: lib.h:88
#define SEC_SIGN
Email is signed.
Definition: lib.h:79
#define SEC_KEYBLOCK
Email has a key attached.
Definition: lib.h:84
unsigned int zminutes
Minutes away from UTC.
Definition: email.h:57
int lines
How many lines in the body of this message?
Definition: email.h:62
size_t num_hidden
Number of hidden messages in this view (only valid when collapsed is set)
Definition: email.h:126
bool zoccident
True, if west of UTC, False if east.
Definition: email.h:58
LOFF_T offset
Where in the stream does this message begin?
Definition: email.h:71
short attach_total
Number of qualifying attachments in message, if attach_valid.
Definition: email.h:118
unsigned int zhours
Hours away from UTC.
Definition: email.h:56
time_t date_sent
Time when the message was sent (UTC)
Definition: email.h:60
int vnum
Virtual message number.
Definition: email.h:117
int score
Message score.
Definition: email.h:116
int msgno
Number displayed to the user.
Definition: email.h:114
char * path
Path of Email (for local Mailboxes)
Definition: email.h:70
int index
The absolute (unsorted) message number.
Definition: email.h:113
short recipient
User_is_recipient()'s return value, cached.
Definition: email.h:119
time_t received
Time when the message was placed in the mailbox.
Definition: email.h:61
+ Here is the call graph for this function:

◆ dump_envelope()

void dump_envelope ( const struct Envelope env)

Definition at line 77 of file email.c.

78{
79 mutt_debug(LL_DEBUG1, "Envelope\n");
80
81 if (!env)
82 {
83 mutt_debug(LL_DEBUG1, "\tNULL pointer\n");
84 return;
85 }
86
87 struct Buffer *buf = buf_pool_get();
88 char arr[1024];
89
90#define ADD_FLAG(F) add_flag(buf, (env->changed & F), #F)
95#undef ADD_FLAG
96 mutt_debug(LL_DEBUG1, "\tchanged: %s\n", buf_is_empty(buf) ? "[NONE]" : buf_string(buf));
97
98#define ADDR_LIST(AL) dump_addr_list(arr, sizeof(arr), &env->AL, #AL)
99 ADDR_LIST(return_path);
100 ADDR_LIST(from);
101 ADDR_LIST(to);
102 ADDR_LIST(cc);
103 ADDR_LIST(bcc);
104 ADDR_LIST(sender);
105 ADDR_LIST(reply_to);
106 ADDR_LIST(mail_followup_to);
107 ADDR_LIST(x_original_to);
108#undef ADDR_LIST
109
110#define OPT_STRING(S) \
111 if (env->S) \
112 mutt_debug(LL_DEBUG1, "\t%s: %s\n", #S, env->S)
113 OPT_STRING(list_post);
114 OPT_STRING(list_subscribe);
115 OPT_STRING(list_unsubscribe);
116 OPT_STRING(subject);
117 OPT_STRING(real_subj);
118 OPT_STRING(disp_subj);
119 OPT_STRING(message_id);
120 OPT_STRING(supersedes);
121 OPT_STRING(date);
122 OPT_STRING(x_label);
123 OPT_STRING(organization);
124 OPT_STRING(newsgroups);
125 OPT_STRING(xref);
126 OPT_STRING(followup_to);
127 OPT_STRING(x_comment_to);
128#undef OPT_STRING
129
130 dump_list_head(&env->references, "references");
131 dump_list_head(&env->in_reply_to, "in_reply_to");
132 dump_list_head(&env->userhdrs, "userhdrs");
133
134 if (!buf_is_empty(&env->spam))
135 mutt_debug(LL_DEBUG1, "\tspam: %s\n", buf_string(&env->spam));
136
137#ifdef USE_AUTOCRYPT
138 if (env->autocrypt)
139 mutt_debug(LL_DEBUG1, "\tautocrypt: %p\n", (void *) env->autocrypt);
140 if (env->autocrypt_gossip)
141 mutt_debug(LL_DEBUG1, "\tautocrypt_gossip: %p\n", (void *) env->autocrypt_gossip);
142#endif
143
144 buf_pool_release(&buf);
145}
void dump_list_head(const struct ListHead *list, const char *name)
Definition: email.c:56
#define ADDR_LIST(AL)
#define MUTT_ENV_CHANGED_SUBJECT
Protected header update.
Definition: envelope.h:37
#define MUTT_ENV_CHANGED_XLABEL
X-Label edited.
Definition: envelope.h:36
#define MUTT_ENV_CHANGED_IRT
In-Reply-To changed to link/break threads.
Definition: envelope.h:34
#define MUTT_ENV_CHANGED_REFS
References changed to break thread.
Definition: envelope.h:35
struct ListHead userhdrs
user defined headers
Definition: envelope.h:85
struct AutocryptHeader * autocrypt_gossip
Autocrypt Gossip header.
Definition: envelope.h:88
struct ListHead references
message references (in reverse order)
Definition: envelope.h:83
struct AutocryptHeader * autocrypt
Autocrypt header.
Definition: envelope.h:87
struct Buffer spam
Spam header.
Definition: envelope.h:82
struct ListHead in_reply_to
in-reply-to header content
Definition: envelope.h:84
+ Here is the call graph for this function:

◆ dump_list_head()

void dump_list_head ( const struct ListHead *  list,
const char *  name 
)

Definition at line 56 of file email.c.

57{
58 if (!list || !name)
59 return;
60 if (STAILQ_EMPTY(list))
61 return;
62
63 struct Buffer *buf = buf_pool_get();
64
65 struct ListNode *np = NULL;
66 STAILQ_FOREACH(np, list, entries)
67 {
68 if (!buf_is_empty(buf))
69 buf_addch(buf, ',');
70 buf_addstr(buf, np->data);
71 }
72
73 mutt_debug(LL_DEBUG1, "\t%s: %s\n", name, buf_string(buf));
74 buf_pool_release(&buf);
75}
#define STAILQ_FOREACH(var, head, field)
Definition: queue.h:352
#define STAILQ_EMPTY(head)
Definition: queue.h:348
A List node for strings.
Definition: list.h:35
char * data
String.
Definition: list.h:36
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dump_param_list()

void dump_param_list ( const struct ParameterList *  pl)

Definition at line 239 of file email.c.

240{
241 mutt_debug(LL_DEBUG1, "\tparameters\n");
242
243 if (!pl)
244 {
245 mutt_debug(LL_DEBUG1, "\tNULL pointer\n");
246 return;
247 }
248
249 if (TAILQ_EMPTY(pl))
250 {
251 mutt_debug(LL_DEBUG1, "\tempty\n");
252 return;
253 }
254
255 struct Parameter *np = NULL;
256 TAILQ_FOREACH(np, pl, entries)
257 {
258 mutt_debug(LL_DEBUG1, "\t\t%s = %s\n", NONULL(np->attribute), NONULL(np->value));
259 }
260}
#define TAILQ_FOREACH(var, head, field)
Definition: queue.h:725
#define NONULL(x)
Definition: string2.h:37
Attribute associated with a MIME part.
Definition: parameter.h:33
char * attribute
Parameter name.
Definition: parameter.h:34
char * value
Parameter value.
Definition: parameter.h:35
+ Here is the caller graph for this function:

◆ name_expando_domain()

const char * name_expando_domain ( enum ExpandoDomain  did)

Definition at line 86 of file names_expando.c.

87{
88 switch (did)
89 {
113 }
114}
@ ED_ENVELOPE
Envelope ED_ENV_ ExpandoDataEnvelope.
Definition: domain.h:42
@ ED_SIDEBAR
Sidebar ED_SID_ ExpandoDataSidebar.
Definition: domain.h:55
@ ED_COMPOSE
Compose ED_COM_ ExpandoDataCompose.
Definition: domain.h:39
@ ED_EMAIL
Email ED_EMA_ ExpandoDataEmail.
Definition: domain.h:41
@ ED_ALIAS
Alias ED_ALI_ ExpandoDataAlias.
Definition: domain.h:35
@ ED_PGP_CMD
Pgp Command ED_PGC_ ExpandoDataPgpCmd.
Definition: domain.h:53
@ ED_FOLDER
Folder ED_FOL_ ExpandoDataFolder.
Definition: domain.h:43
@ ED_SMIME_CMD
Smime Command ED_SMI_ ExpandoDataSmimeCmd.
Definition: domain.h:56
@ ED_PGP
Pgp ED_PGP_ ExpandoDataPgp.
Definition: domain.h:52
@ ED_PATTERN
Pattern ED_PAT_ ExpandoDataPattern.
Definition: domain.h:51
@ ED_MIXMASTER
Mixmaster ED_MIX_ ExpandoDataMixmaster.
Definition: domain.h:49
@ ED_MENU
Menu ED_MEN_ ExpandoDataMenu.
Definition: domain.h:48
@ ED_AUTOCRYPT
Autocrypt ED_AUT_ ExpandoDataAutocrypt.
Definition: domain.h:37
@ ED_GLOBAL
Global ED_GLO_ ExpandoDataGlobal.
Definition: domain.h:44
@ ED_BODY
Body ED_BOD_ ExpandoDataBody.
Definition: domain.h:38
@ ED_MAILBOX
Mailbox ED_MBX_ ExpandoDataMailbox.
Definition: domain.h:47
@ ED_INDEX
Index ED_IND_ ExpandoDataIndex.
Definition: domain.h:46
@ ED_ATTACH
Attach ED_ATT_ ExpandoDataAttach.
Definition: domain.h:36
@ ED_PGP_KEY
Pgp_Key ED_PGK_ ExpandoDataPgpKey.
Definition: domain.h:54
@ ED_NNTP
Nntp ED_NTP_ ExpandoDataNntp.
Definition: domain.h:50
@ ED_COMPRESS
Compress ED_CMP_ ExpandoDataCompress.
Definition: domain.h:40
@ ED_HISTORY
History ED_HIS_ ExpandoDataHistory.
Definition: domain.h:45
#define DEBUG_NAME(NAME)
Definition: names_expando.c:52
#define DEBUG_DEFAULT
Definition: names_expando.c:56
+ Here is the caller graph for this function:

◆ name_expando_node_type()

const char * name_expando_node_type ( enum ExpandoNodeType  type)

Definition at line 60 of file names_expando.c.

61{
62 switch (type)
63 {
72 }
73}
@ ENT_EXPANDO
Expando, e.g. 'n'.
Definition: node.h:38
@ ENT_CONDITION
True/False condition.
Definition: node.h:40
@ ENT_TEXT
Plain text.
Definition: node.h:37
@ ENT_CONDDATE
True/False date condition.
Definition: node.h:42
@ ENT_EMPTY
Empty.
Definition: node.h:36
@ ENT_CONDBOOL
True/False boolean condition.
Definition: node.h:41
@ ENT_PADDING
Padding: soft, hard, EOL.
Definition: node.h:39

◆ name_expando_pad_type()

const char * name_expando_pad_type ( enum ExpandoPadType  type)

Definition at line 75 of file names_expando.c.

76{
77 switch (type)
78 {
83 }
84}
@ EPT_FILL_EOL
Fill to the end-of-line.
Definition: node_padding.h:44
@ EPT_SOFT_FILL
Soft-fill: right-hand-side will be truncated.
Definition: node_padding.h:46
@ EPT_HARD_FILL
Hard-fill: left-hand-side will be truncated.
Definition: node_padding.h:45

◆ name_expando_uid()

const char * name_expando_uid ( enum ExpandoDomain  did,
int  uid 
)

Definition at line 480 of file names_expando.c.

481{
482 switch (did)
483 {
484 case ED_ALIAS:
485 return name_expando_uid_alias(uid);
486 case ED_ATTACH:
487 return name_expando_uid_attach(uid);
488#ifdef USE_AUTOCRYPT
489 case ED_AUTOCRYPT:
490 return name_expando_uid_autocrypt(uid);
491#endif
492 case ED_BODY:
493 return name_expando_uid_body(uid);
494 case ED_COMPOSE:
495 return name_expando_uid_compose(uid);
496 case ED_COMPRESS:
497 return name_expando_uid_compress(uid);
498 case ED_EMAIL:
499 return name_expando_uid_email(uid);
500 case ED_ENVELOPE:
501 return name_expando_uid_envelope(uid);
502 case ED_FOLDER:
503 return name_expando_uid_folder(uid);
504 case ED_GLOBAL:
505 return name_expando_uid_global(uid);
506 case ED_HISTORY:
507 return name_expando_uid_history(uid);
508 case ED_INDEX:
509 return name_expando_uid_index(uid);
510 case ED_MAILBOX:
511 return name_expando_uid_mailbox(uid);
512 case ED_MENU:
513 return name_expando_uid_menu(uid);
514 case ED_MIXMASTER:
515 return name_expando_uid_mixmaster(uid);
516 case ED_NNTP:
517 return name_expando_uid_nntp(uid);
518 case ED_PATTERN:
519 return name_expando_uid_pattern(uid);
520 case ED_PGP:
521 return name_expando_uid_pgp(uid);
522 case ED_PGP_CMD:
523 return name_expando_uid_pgp_cmd(uid);
524 case ED_PGP_KEY:
525 return name_expando_uid_pgp_key(uid);
526 case ED_SIDEBAR:
527 return name_expando_uid_sidebar(uid);
528 case ED_SMIME_CMD:
529 return name_expando_uid_smime_cmd(uid);
530 default:
531 assert(false);
532 }
533}
const char * name_expando_uid_history(int uid)
const char * name_expando_uid_pgp(int uid)
const char * name_expando_uid_compress(int uid)
const char * name_expando_uid_compose(int uid)
const char * name_expando_uid_pgp_key(int uid)
const char * name_expando_uid_mixmaster(int uid)
const char * name_expando_uid_mailbox(int uid)
const char * name_expando_uid_autocrypt(int uid)
const char * name_expando_uid_folder(int uid)
const char * name_expando_uid_sidebar(int uid)
const char * name_expando_uid_pgp_cmd(int uid)
const char * name_expando_uid_attach(int uid)
const char * name_expando_uid_alias(int uid)
const char * name_expando_uid_body(int uid)
const char * name_expando_uid_pattern(int uid)
const char * name_expando_uid_envelope(int uid)
const char * name_expando_uid_menu(int uid)
const char * name_expando_uid_email(int uid)
const char * name_expando_uid_index(int uid)
const char * name_expando_uid_global(int uid)
const char * name_expando_uid_nntp(int uid)
const char * name_expando_uid_smime_cmd(int uid)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ name_expando_uid_alias()

const char * name_expando_uid_alias ( int  uid)

Definition at line 116 of file names_expando.c.

117{
118 switch (uid)
119 {
128 }
129}
@ ED_ALI_FLAGS
Alias.flags.
Definition: gui.h:75
@ ED_ALI_NUMBER
AliasView.num.
Definition: gui.h:77
@ ED_ALI_NAME
Alias.name.
Definition: gui.h:76
@ ED_ALI_ADDRESS
Alias.addr.
Definition: gui.h:73
@ ED_ALI_COMMENT
Alias.comment.
Definition: gui.h:74
@ ED_ALI_TAGGED
AliasView.tagged.
Definition: gui.h:78
@ ED_ALI_TAGS
Alias.tags.
Definition: gui.h:79
+ Here is the caller graph for this function:

◆ name_expando_uid_all()

const char * name_expando_uid_all ( int  uid)

◆ name_expando_uid_attach()

const char * name_expando_uid_attach ( int  uid)

Definition at line 131 of file names_expando.c.

132{
133 switch (uid)
134 {
139 }
140}
@ ED_ATT_NUMBER
AttachPtr.num.
Definition: attach.h:57
@ ED_ATT_TREE
AttachPtr.tree.
Definition: attach.h:58
@ ED_ATT_CHARSET
AttachPtr.body.
Definition: attach.h:56
+ Here is the caller graph for this function:

◆ name_expando_uid_autocrypt()

const char * name_expando_uid_autocrypt ( int  uid)

Definition at line 143 of file names_expando.c.

144{
145 switch (uid)
146 {
153 }
154}
@ ED_AUT_ADDRESS
AccountEntry.addr.
Definition: private.h:60
@ ED_AUT_KEYID
AutocryptAccount.keyid.
Definition: private.h:59
@ ED_AUT_NUMBER
AccountEntry.num.
Definition: private.h:61
@ ED_AUT_ENABLED
AutocryptAccount.enabled.
Definition: private.h:58
@ ED_AUT_PREFER_ENCRYPT
AutocryptAccount.prefer_encrypt.
Definition: private.h:62
+ Here is the caller graph for this function:

◆ name_expando_uid_body()

const char * name_expando_uid_body ( int  uid)

Definition at line 157 of file names_expando.c.

158{
159 switch (uid)
160 {
176 }
177}
@ ED_BOD_DESCRIPTION
Body.description.
Definition: body.h:105
@ ED_BOD_CHARSET_CONVERT
Body.type.
Definition: body.h:103
@ ED_BOD_DELETED
Body.deleted.
Definition: body.h:104
@ ED_BOD_UNLINK
Body.unlink.
Definition: body.h:114
@ ED_BOD_FILE_SIZE
Body.filename.
Definition: body.h:109
@ ED_BOD_DISPOSITION
Body.disposition.
Definition: body.h:106
@ ED_BOD_ATTACH_QUALIFIES
Body.attach_qualifies.
Definition: body.h:102
@ ED_BOD_MIME_MAJOR
Body.type, Body.xtype.
Definition: body.h:111
@ ED_BOD_TAGGED
Body.tagged.
Definition: body.h:113
@ ED_BOD_ATTACH_COUNT
Body.attach_count.
Definition: body.h:101
@ ED_BOD_FILE
Body.filename.
Definition: body.h:107
@ ED_BOD_MIME_MINOR
Body.subtype.
Definition: body.h:112
@ ED_BOD_FILE_DISPOSITION
Body.d_filename.
Definition: body.h:108
@ ED_BOD_MIME_ENCODING
Body.encoding.
Definition: body.h:110
+ Here is the caller graph for this function:

◆ name_expando_uid_compose()

const char * name_expando_uid_compose ( int  uid)

Definition at line 179 of file names_expando.c.

180{
181 switch (uid)
182 {
186 }
187}
@ ED_COM_ATTACH_COUNT
ComposeAttachData, num_attachments()
Definition: shared_data.h:56
@ ED_COM_ATTACH_SIZE
ComposeAttachData, cum_attachs_size()
Definition: shared_data.h:57
+ Here is the caller graph for this function:

◆ name_expando_uid_compress()

const char * name_expando_uid_compress ( int  uid)

Definition at line 189 of file names_expando.c.

190{
191 switch (uid)
192 {
196 }
197}
@ ED_CMP_FROM
'from' path
Definition: lib.h:48
@ ED_CMP_TO
'to' path
Definition: lib.h:49
+ Here is the caller graph for this function:

◆ name_expando_uid_email()

const char * name_expando_uid_email ( int  uid)

Definition at line 199 of file names_expando.c.

200{
201 switch (uid)
202 {
229 }
230}
@ ED_EMA_ATTACHMENT_COUNT
Email, mutt_count_body_parts()
Definition: email.h:139
@ ED_EMA_DATE_FORMAT_LOCAL
Email.date_sent.
Definition: email.h:144
@ ED_EMA_TAGS_TRANSFORMED
Email.tags, driver_tags_get_transformed()
Definition: email.h:159
@ ED_EMA_THREAD_HIDDEN_COUNT
Email.collapsed, Email.num_hidden, ...
Definition: email.h:161
@ ED_EMA_DATE_FORMAT
Email.date_sent.
Definition: email.h:143
@ ED_EMA_THREAD_TAGS
Email.tags.
Definition: email.h:163
@ ED_EMA_TAGS
Email.tags.
Definition: email.h:158
@ ED_EMA_SIZE
Body.length.
Definition: email.h:153
@ ED_EMA_THREAD_NUMBER
Email, mutt_messages_in_thread()
Definition: email.h:162
@ ED_EMA_TO_CHARS
Email, User_is_recipient()
Definition: email.h:164
@ ED_EMA_BODY_CHARACTERS
Body.length.
Definition: email.h:140
@ ED_EMA_STRF
Email.date_sent, Email.zhours, Email.zminutes, Email.zoccident.
Definition: email.h:155
@ ED_EMA_COMBINED_FLAGS
Email.read, Email.old, thread_is_new(), ...
Definition: email.h:141
@ ED_EMA_THREAD_COUNT
Email, mutt_messages_in_thread()
Definition: email.h:160
@ ED_EMA_STATUS_FLAGS
Email.deleted, Email.attach_del, ...
Definition: email.h:154
@ ED_EMA_NUMBER
Email.msgno.
Definition: email.h:151
@ ED_EMA_FROM_LIST
Envelope.to, Envelope.cc.
Definition: email.h:146
@ ED_EMA_SCORE
Email.score.
Definition: email.h:152
@ ED_EMA_CRYPTO_FLAGS
Email.security, SecurityFlags.
Definition: email.h:142
@ ED_EMA_STRF_RECV_LOCAL
Email.received.
Definition: email.h:157
@ ED_EMA_STRF_LOCAL
Email.date_sent.
Definition: email.h:156
@ ED_EMA_LIST_OR_SAVE_FOLDER
Envelope.to, Envelope.cc, check_for_mailing_list()
Definition: email.h:149
@ ED_EMA_INDEX_HOOK
Mailbox, Email, mutt_idxfmt_hook()
Definition: email.h:147
@ ED_EMA_LINES
Email.lines.
Definition: email.h:148
@ ED_EMA_MESSAGE_FLAGS
Email.tagged, Email.flagged.
Definition: email.h:150
+ Here is the caller graph for this function:

◆ name_expando_uid_envelope()

const char * name_expando_uid_envelope ( int  uid)

Definition at line 232 of file names_expando.c.

233{
234 switch (uid)
235 {
262 }
263}
@ ED_ENV_REAL_NAME
Envelope.to (first)
Definition: envelope.h:111
@ ED_ENV_SUBJECT
Envelope.subject, Envelope.disp_subj.
Definition: envelope.h:116
@ ED_ENV_NEWSGROUP
Envelope.newsgroups.
Definition: envelope.h:109
@ ED_ENV_INITIALS
Envelope.from (first)
Definition: envelope.h:104
@ ED_ENV_FROM_FULL
Envelope.from (all)
Definition: envelope.h:103
@ ED_ENV_X_COMMENT_TO
Envelope.x_comment_to.
Definition: envelope.h:123
@ ED_ENV_FROM
Envelope.from (first)
Definition: envelope.h:102
@ ED_ENV_LIST_ADDRESS
Envelope.to, Envelope.cc.
Definition: envelope.h:105
@ ED_ENV_SPAM
Envelope.spam.
Definition: envelope.h:115
@ ED_ENV_SENDER
Envelope, make_from()
Definition: envelope.h:113
@ ED_ENV_TO_ALL
Envelope.to (all)
Definition: envelope.h:120
@ ED_ENV_X_LABEL
Envelope.x_label.
Definition: envelope.h:124
@ ED_ENV_NAME
Envelope.from (first)
Definition: envelope.h:108
@ ED_ENV_CC_ALL
Envelope.cc.
Definition: envelope.h:100
@ ED_ENV_ORGANIZATION
Envelope.organization.
Definition: envelope.h:110
@ ED_ENV_REPLY_TO
Envelope.reply_to.
Definition: envelope.h:112
@ ED_ENV_LIST_EMPTY
Envelope.to, Envelope.cc.
Definition: envelope.h:106
@ ED_ENV_THREAD_X_LABEL
Envelope.x_label.
Definition: envelope.h:118
@ ED_ENV_MESSAGE_ID
Envelope.message_id.
Definition: envelope.h:107
@ ED_ENV_SENDER_PLAIN
Envelope, make_from()
Definition: envelope.h:114
@ ED_ENV_USER_NAME
Envelope.to (first)
Definition: envelope.h:122
@ ED_ENV_USERNAME
Envelope.from.
Definition: envelope.h:121
@ ED_ENV_THREAD_TREE
Email.tree.
Definition: envelope.h:117
@ ED_ENV_TO
Envelope.to, Envelope.cc (first)
Definition: envelope.h:119
@ ED_ENV_FIRST_NAME
Envelope.from, Envelope.to, Envelope.cc.
Definition: envelope.h:101
+ Here is the caller graph for this function:

◆ name_expando_uid_folder()

const char * name_expando_uid_folder ( int  uid)

Definition at line 265 of file names_expando.c.

266{
267 switch (uid)
268 {
291 }
292}
@ ED_FOL_POLL
FolderFile.poll_new_mail.
Definition: lib.h:134
@ ED_FOL_NOTIFY
FolderFile.notify_user.
Definition: lib.h:132
@ ED_FOL_NEW_COUNT
FolderFile.nd (NntpMboxData)
Definition: lib.h:130
@ ED_FOL_FILE_OWNER
FolderFile.uid.
Definition: lib.h:123
@ ED_FOL_FILE_GROUP
FolderFile.gid.
Definition: lib.h:121
@ ED_FOL_FILENAME
FolderFile.name.
Definition: lib.h:120
@ ED_FOL_DATE_FORMAT
FolderFile.mtime.
Definition: lib.h:118
@ ED_FOL_UNREAD_COUNT
FolderFile.msg_unread.
Definition: lib.h:137
@ ED_FOL_FLAGS2
FolderFile.nd (NntpMboxData)
Definition: lib.h:126
@ ED_FOL_FILE_MODE
FolderFile.move.
Definition: lib.h:122
@ ED_FOL_NEW_MAIL
FolderFile.has_new_mail.
Definition: lib.h:131
@ ED_FOL_FILE_SIZE
FolderFile.size.
Definition: lib.h:124
@ ED_FOL_HARD_LINKS
FolderFile.nlink.
Definition: lib.h:127
@ ED_FOL_DATE
FolderFile.mtime.
Definition: lib.h:117
@ ED_FOL_STRF
FolderFile.mtime.
Definition: lib.h:135
@ ED_FOL_TAGGED
FolderFile.tagged.
Definition: lib.h:136
@ ED_FOL_NUMBER
Folder.num.
Definition: lib.h:133
@ ED_FOL_DESCRIPTION
FolderFile.desc, FolderFile.name.
Definition: lib.h:119
@ ED_FOL_MESSAGE_COUNT
FolderFile.msg_count.
Definition: lib.h:128
@ ED_FOL_NEWSGROUP
FolderFile.name.
Definition: lib.h:129
@ ED_FOL_FLAGS
FolderFile.nd (NntpMboxData)
Definition: lib.h:125
+ Here is the caller graph for this function:

◆ name_expando_uid_global()

const char * name_expando_uid_global ( int  uid)

Definition at line 294 of file names_expando.c.

295{
296 switch (uid)
297 {
305 }
306}
@ ED_GLO_SORT
Value of $sort.
Definition: uid.h:40
@ ED_GLO_VERSION
NeoMutt version.
Definition: uid.h:43
@ ED_GLO_CERTIFICATE_PATH
Path of Smime certificates.
Definition: uid.h:34
@ ED_GLO_USE_THREADS
Value of $use_threads.
Definition: uid.h:42
@ ED_GLO_HOSTNAME
Local hostname.
Definition: uid.h:35
@ ED_GLO_SORT_AUX
Value of $sort_aux.
Definition: uid.h:41
+ Here is the caller graph for this function:

◆ name_expando_uid_history()

const char * name_expando_uid_history ( int  uid)

Definition at line 308 of file names_expando.c.

309{
310 switch (uid)
311 {
315 }
316}
@ ED_HIS_MATCH
HistoryEntry.history.
Definition: lib.h:77
@ ED_HIS_NUMBER
HistoryEntry.num.
Definition: lib.h:78
+ Here is the caller graph for this function:

◆ name_expando_uid_index()

const char * name_expando_uid_index ( int  uid)

Definition at line 318 of file names_expando.c.

319{
320 switch (uid)
321 {
339 }
340}
@ ED_IND_LIMIT_COUNT
Mailbox.vcount.
Definition: shared_data.h:59
@ ED_IND_MAILBOX_PATH
Mailbox.pathbuf, Mailbox.name.
Definition: shared_data.h:62
@ ED_IND_DELETED_COUNT
Mailbox.msg_deleted.
Definition: shared_data.h:56
@ ED_IND_NEW_COUNT
Mailbox.msg_new.
Definition: shared_data.h:65
@ ED_IND_MAILBOX_SIZE
Mailbox.size.
Definition: shared_data.h:63
@ ED_IND_LIMIT_PATTERN
MailboxView.pattern.
Definition: shared_data.h:60
@ ED_IND_READ_COUNT
Mailbox.msg_count, Mailbox.msg_unread.
Definition: shared_data.h:69
@ ED_IND_POSTPONED_COUNT
mutt_num_postponed()
Definition: shared_data.h:67
@ ED_IND_FLAGGED_COUNT
Mailbox.msg_flagged.
Definition: shared_data.h:58
@ ED_IND_MESSAGE_COUNT
Mailbox.msg_count.
Definition: shared_data.h:64
@ ED_IND_OLD_COUNT
Mailbox.msg_unread, Mailbox.msg_new.
Definition: shared_data.h:66
@ ED_IND_READONLY
Mailbox.readonly, Mailbox.dontwrite.
Definition: shared_data.h:68
@ ED_IND_UNREAD_COUNT
Mailbox.msg_unread.
Definition: shared_data.h:71
@ ED_IND_TAGGED_COUNT
Mailbox.msg_tagged.
Definition: shared_data.h:70
@ ED_IND_LIMIT_SIZE
MailboxView.vsize.
Definition: shared_data.h:61
@ ED_IND_DESCRIPTION
Mailbox.name.
Definition: shared_data.h:57
+ Here is the caller graph for this function:

◆ name_expando_uid_mailbox()

const char * name_expando_uid_mailbox ( int  uid)

Definition at line 342 of file names_expando.c.

343{
344 switch (uid)
345 {
350 }
351}
@ ED_MBX_MESSAGE_COUNT
Mailbox.msg_count.
Definition: mailbox.h:158
@ ED_MBX_PERCENTAGE
HdrFormatInfo.pager_progress.
Definition: mailbox.h:159
@ ED_MBX_MAILBOX_NAME
Mailbox, mailbox_path()
Definition: mailbox.h:157
+ Here is the caller graph for this function:

◆ name_expando_uid_menu()

const char * name_expando_uid_menu ( int  uid)

Definition at line 353 of file names_expando.c.

354{
355 switch (uid)
356 {
359 }
360}
@ ED_MEN_PERCENTAGE
Menu.top, ...
Definition: lib.h:68
+ Here is the caller graph for this function:

◆ name_expando_uid_mixmaster()

const char * name_expando_uid_mixmaster ( int  uid)

Definition at line 362 of file names_expando.c.

363{
364 switch (uid)
365 {
371 }
372}
@ ED_MIX_ADDRESS
Remailer.addr.
Definition: remailer.h:56
@ ED_MIX_CAPABILITIES
Remailer, mix_format_caps()
Definition: remailer.h:57
@ ED_MIX_SHORT_NAME
Remailer.shortname.
Definition: remailer.h:59
@ ED_MIX_NUMBER
Remailer.num.
Definition: remailer.h:58
+ Here is the caller graph for this function:

◆ name_expando_uid_nntp()

const char * name_expando_uid_nntp ( int  uid)

Definition at line 374 of file names_expando.c.

375{
376 switch (uid)
377 {
385 }
386}
@ ED_NTP_SCHEMA
ConnAccount.account.
Definition: connaccount.h:85
@ ED_NTP_USERNAME
ConnAccount.user.
Definition: connaccount.h:87
@ ED_NTP_PORT_IF
ConnAccount.port.
Definition: connaccount.h:84
@ ED_NTP_SERVER
ConnAccount.account.
Definition: connaccount.h:86
@ ED_NTP_ACCOUNT
ConnAccount.account.
Definition: connaccount.h:82
@ ED_NTP_PORT
ConnAccount.port.
Definition: connaccount.h:83
+ Here is the caller graph for this function:

◆ name_expando_uid_pattern()

const char * name_expando_uid_pattern ( int  uid)

Definition at line 388 of file names_expando.c.

389{
390 switch (uid)
391 {
396 }
397}
@ ED_PAT_DESCRIPTION
PatternEntry.desc.
Definition: private.h:51
@ ED_PAT_EXPRESION
PatternEntry.expr.
Definition: private.h:52
@ ED_PAT_NUMBER
PatternEntry.num.
Definition: private.h:53
+ Here is the caller graph for this function:

◆ name_expando_uid_pgp()

const char * name_expando_uid_pgp ( int  uid)

Definition at line 399 of file names_expando.c.

400{
401 switch (uid)
402 {
407 }
408}
@ ED_PGP_NUMBER
PgpEntry.num.
Definition: private.h:51
@ ED_PGP_USER_ID
PgpUid.addr.
Definition: private.h:53
@ ED_PGP_TRUST
PgpUid, TrustFlags.
Definition: private.h:52
+ Here is the caller graph for this function:

◆ name_expando_uid_pgp_cmd()

const char * name_expando_uid_pgp_cmd ( int  uid)

Definition at line 410 of file names_expando.c.

411{
412 switch (uid)
413 {
420 }
421}
@ ED_PGC_KEY_IDS
PgpCommandContext.ids.
Definition: pgp.h:60
@ ED_PGC_FILE_SIGNATURE
PgpCommandContext.sig_fname.
Definition: pgp.h:59
@ ED_PGC_NEED_PASS
PgpCommandContext.need_passphrase.
Definition: pgp.h:61
@ ED_PGC_SIGN_AS
PgpCommandContext.signas.
Definition: pgp.h:62
@ ED_PGC_FILE_MESSAGE
PgpCommandContext.fname.
Definition: pgp.h:58
+ Here is the caller graph for this function:

◆ name_expando_uid_pgp_key()

const char * name_expando_uid_pgp_key ( int  uid)

Definition at line 423 of file names_expando.c.

424{
425 switch (uid)
426 {
439 }
440}
@ ED_PGK_KEY_CAPABILITIES
PgpKeyInfo.flags, pgp_key_abilities()
Definition: pgplib.h:69
@ ED_PGK_PKEY_LENGTH
pgp_principal_key(), PgpKeyInfo.keylen
Definition: pgplib.h:79
@ ED_PGK_PKEY_ALGORITHM
pgp_principal_key(), PgpKeyInfo.algorithm
Definition: pgplib.h:74
@ ED_PGK_DATE
PgpKeyInfo.gen_time.
Definition: pgplib.h:67
@ ED_PGK_KEY_ID
PgpKeyInfo, pgp_this_keyid()
Definition: pgplib.h:72
@ ED_PGK_PKEY_CAPABILITIES
pgp_principal_key(), PgpKeyInfo.flags, pgp_key_abilities()
Definition: pgplib.h:75
@ ED_PGK_KEY_FLAGS
PgpKeyInfo.kflags, pgp_flags()
Definition: pgplib.h:71
@ ED_PGK_PKEY_ID
pgp_principal_key(), PgpKeyInfo, pgp_this_keyid()
Definition: pgplib.h:78
@ ED_PGK_KEY_ALGORITHM
PgpKeyInfo.algorithm.
Definition: pgplib.h:68
@ ED_PGK_KEY_LENGTH
PgpKeyInfo.keylen.
Definition: pgplib.h:73
@ ED_PGK_PKEY_FLAGS
pgp_principal_key(), PgpKeyInfo.kflags, pgp_flags()
Definition: pgplib.h:77
+ Here is the caller graph for this function:

◆ name_expando_uid_pgp_key_gpgme()

const char * name_expando_uid_pgp_key_gpgme ( int  uid)

◆ name_expando_uid_sidebar()

const char * name_expando_uid_sidebar ( int  uid)

Definition at line 442 of file names_expando.c.

443{
444 switch (uid)
445 {
462 }
463}
@ ED_SID_FLAGGED_COUNT
Mailbox.msg_flagged.
Definition: private.h:61
@ ED_SID_READ_COUNT
Mailbox.msg_count, Mailbox.msg_unread.
Definition: private.h:69
@ ED_SID_DESCRIPTION
Mailbox.name.
Definition: private.h:59
@ ED_SID_NEW_MAIL
Mailbox.has_new.
Definition: private.h:65
@ ED_SID_UNSEEN_COUNT
Mailbox.msg_new.
Definition: private.h:72
@ ED_SID_POLL
Mailbox.poll_new_mail.
Definition: private.h:68
@ ED_SID_OLD_COUNT
Mailbox.msg_unread, Mailbox.msg_new.
Definition: private.h:67
@ ED_SID_MESSAGE_COUNT
Mailbox.msg_count.
Definition: private.h:63
@ ED_SID_LIMITED_COUNT
Mailbox.vcount.
Definition: private.h:62
@ ED_SID_UNREAD_COUNT
Mailbox.msg_unread.
Definition: private.h:71
@ ED_SID_TAGGED_COUNT
Mailbox.msg_tagged.
Definition: private.h:70
@ ED_SID_NOTIFY
Mailbox.notify_user.
Definition: private.h:66
@ ED_SID_NAME
SbEntry.box.
Definition: private.h:64
@ ED_SID_DELETED_COUNT
Mailbox.msg_deleted.
Definition: private.h:58
@ ED_SID_FLAGGED
Mailbox.msg_flagged.
Definition: private.h:60
+ Here is the caller graph for this function:

◆ name_expando_uid_smime_cmd()

const char * name_expando_uid_smime_cmd ( int  uid)

Definition at line 465 of file names_expando.c.

466{
467 switch (uid)
468 {
477 }
478}
@ ED_SMI_MESSAGE_FILE
SmimeCommandContext.fname.
Definition: smime.h:79
@ ED_SMI_ALGORITHM
SmimeCommandContext.cryptalg.
Definition: smime.h:74
@ ED_SMI_SIGNATURE_FILE
SmimeCommandContext.sig_fname.
Definition: smime.h:80
@ ED_SMI_DIGEST_ALGORITHM
SmimeCommandContext.digestalg.
Definition: smime.h:76
@ ED_SMI_CERTIFICATE_IDS
SmimeCommandContext.certificates.
Definition: smime.h:75
@ ED_SMI_KEY
SmimeCommandContext.key.
Definition: smime.h:78
@ ED_SMI_INTERMEDIATE_IDS
SmimeCommandContext.intermediates.
Definition: smime.h:77
+ Here is the caller graph for this function:

◆ name_format_justify()

const char * name_format_justify ( enum FormatJustify  just)

Definition at line 535 of file names_expando.c.

536{
537 switch (just)
538 {
543 }
544}
@ JUSTIFY_RIGHT
Right justify the text.
Definition: format.h:36
@ JUSTIFY_LEFT
Left justify the text.
Definition: format.h:34
@ JUSTIFY_CENTER
Centre the text.
Definition: format.h:35

◆ dump_graphviz()

void dump_graphviz ( const char *  title,
struct MailboxView mv 
)

Definition at line 896 of file graphviz.c.

897{
898 char name[256] = { 0 };
899 struct ListHead links = STAILQ_HEAD_INITIALIZER(links);
900
901 time_t now = time(NULL);
902 if (title)
903 {
904 char date[128];
905 mutt_date_localtime_format(date, sizeof(date), "%T", now);
906 snprintf(name, sizeof(name), "%s-%s.gv", date, title);
907 }
908 else
909 {
910 mutt_date_localtime_format(name, sizeof(name), "%T.gv", now);
911 }
912
913 umask(022);
914 FILE *fp = fopen(name, "w");
915 if (!fp)
916 return;
917
919
920#ifndef GV_HIDE_NEOMUTT
921 dot_node(fp, NeoMutt, "NeoMutt", "#ffa500");
923 "NeoMutt->accounts", NULL, false, NULL);
924#ifndef GV_HIDE_CONFIG
925 dot_config(fp, (const char *) NeoMutt->sub, 0, NeoMutt->sub, &links);
926 dot_add_link(&links, NeoMutt, NeoMutt->sub, "NeoMutt Config", NULL, false, NULL);
927 struct Buffer *buf = buf_pool_get();
928 char obj1[64] = { 0 };
929 char obj2[64] = { 0 };
930 dot_ptr_name(obj1, sizeof(obj1), NeoMutt);
931 dot_ptr_name(obj2, sizeof(obj2), NeoMutt->sub);
932 buf_printf(buf, "{ rank=same %s %s }", obj1, obj2);
933 mutt_list_insert_tail(&links, buf_strdup(buf));
934 buf_pool_release(&buf);
935#endif
936#endif
937
938 dot_account_list(fp, &NeoMutt->accounts, &links);
939
940#ifndef GV_HIDE_MVIEW
941 if (mv)
942 dot_mview(fp, mv, &links);
943
944#ifndef GV_HIDE_NEOMUTT
945 /* Globals */
946 fprintf(fp, "\t{ rank=same ");
947 if (mv)
948 {
949 dot_ptr_name(name, sizeof(name), mv);
950 fprintf(fp, "%s ", name);
951 }
952 dot_ptr_name(name, sizeof(name), NeoMutt);
953 fprintf(fp, "%s ", name);
954 fprintf(fp, "}\n");
955#endif
956#endif
957
958 fprintf(fp, "\t{ rank=same ");
959 struct Account *np = NULL;
960 TAILQ_FOREACH(np, &NeoMutt->accounts, entries)
961 {
962#ifdef GV_HIDE_MBOX
963 if (np->type == MUTT_MBOX)
964 continue;
965#endif
966 dot_ptr_name(name, sizeof(name), np);
967 fprintf(fp, "%s ", name);
968 }
969 fprintf(fp, "}\n");
970
971 dot_graph_footer(fp, &links);
972 fclose(fp);
973 mutt_list_free(&links);
974}
int buf_printf(struct Buffer *buf, const char *fmt,...)
Format a string overwriting a Buffer.
Definition: buffer.c:160
char * buf_strdup(const struct Buffer *buf)
Copy a Buffer's string.
Definition: buffer.c:570
@ MUTT_MBOX
'mbox' Mailbox type
Definition: mailbox.h:45
void dot_ptr_name(char *buf, size_t buflen, const void *ptr)
Definition: graphviz.c:182
void dot_graph_header(FILE *fp)
Definition: graphviz.c:232
void dot_account_list(FILE *fp, struct AccountList *al, struct ListHead *links)
Definition: graphviz.c:864
void dot_config(FILE *fp, const char *name, int type, struct ConfigSubset *sub, struct ListHead *links)
Definition: graphviz.c:358
void dot_graph_footer(FILE *fp, struct ListHead *links)
Definition: graphviz.c:255
void dot_mview(FILE *fp, struct MailboxView *mv, struct ListHead *links)
Definition: graphviz.c:883
void dot_node(FILE *fp, void *ptr, const char *name, const char *colour)
Definition: graphviz.c:290
void dot_add_link(struct ListHead *links, void *src, void *dst, const char *label, const char *short_label, bool back, const char *colour)
Definition: graphviz.c:204
struct ListNode * mutt_list_insert_tail(struct ListHead *h, char *s)
Append a string to the end of a List.
Definition: list.c:64
void mutt_list_free(struct ListHead *h)
Free a List AND its strings.
Definition: list.c:122
size_t mutt_date_localtime_format(char *buf, size_t buflen, const char *format, time_t t)
Format localtime.
Definition: date.c:950
#define STAILQ_HEAD_INITIALIZER(head)
Definition: queue.h:324
#define TAILQ_FIRST(head)
Definition: queue.h:723
A group of associated Mailboxes.
Definition: account.h:36
enum MailboxType type
Type of Mailboxes this Account contains.
Definition: account.h:37
char * name
Name of Account.
Definition: account.h:38
Container for Accounts, Notifications.
Definition: neomutt.h:41
struct AccountList accounts
List of all Accounts.
Definition: neomutt.h:46
struct ConfigSubset * sub
Inherited config items.
Definition: neomutt.h:45
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dump_graphviz_attach_ctx()

void dump_graphviz_attach_ctx ( struct AttachCtx actx)

Definition at line 1588 of file graphviz.c.

1589{
1590 char name[256] = { 0 };
1591 struct ListHead links = STAILQ_HEAD_INITIALIZER(links);
1592
1593 time_t now = time(NULL);
1594 mutt_date_localtime_format(name, sizeof(name), "%T-actx.gv", now);
1595
1596 umask(022);
1597 FILE *fp = fopen(name, "w");
1598 if (!fp)
1599 return;
1600
1601 dot_graph_header(fp);
1602
1603 dot_attach_ctx(fp, actx, &links);
1604
1605 dot_graph_footer(fp, &links);
1606 fclose(fp);
1607 mutt_list_free(&links);
1608}
void dot_attach_ctx(FILE *fp, struct AttachCtx *actx, struct ListHead *links)
Definition: graphviz.c:1554
+ Here is the call graph for this function:

◆ dump_graphviz_body()

void dump_graphviz_body ( struct Body b)

Definition at line 1398 of file graphviz.c.

1399{
1400 char name[256] = { 0 };
1401 struct ListHead links = STAILQ_HEAD_INITIALIZER(links);
1402
1403 time_t now = time(NULL);
1404 mutt_date_localtime_format(name, sizeof(name), "%T-email.gv", now);
1405
1406 umask(022);
1407 FILE *fp = fopen(name, "w");
1408 if (!fp)
1409 return;
1410
1411 dot_graph_header(fp);
1412
1413 dot_body(fp, b, &links, true);
1414
1415 dot_graph_footer(fp, &links);
1416 fclose(fp);
1417 mutt_list_free(&links);
1418}
void dot_body(FILE *fp, struct Body *b, struct ListHead *links, bool link_next)
Definition: graphviz.c:1045
+ Here is the call graph for this function:

◆ dump_graphviz_email()

void dump_graphviz_email ( struct Email e,
const char *  title 
)

Definition at line 1420 of file graphviz.c.

1421{
1422 char name[256] = { 0 };
1423 struct ListHead links = STAILQ_HEAD_INITIALIZER(links);
1424
1425 if (!title)
1426 title = "email";
1427
1428 char format[64];
1429 snprintf(format, sizeof(format), "%%T-%s.gv", title);
1430
1431 time_t now = time(NULL);
1432 mutt_date_localtime_format(name, sizeof(name), format, now);
1433
1434 umask(022);
1435 FILE *fp = fopen(name, "w");
1436 if (!fp)
1437 return;
1438
1439 dot_graph_header(fp);
1440
1441 dot_email(fp, e, &links);
1442
1443 dot_graph_footer(fp, &links);
1444 fclose(fp);
1445 mutt_list_free(&links);
1446}
void dot_email(FILE *fp, struct Email *e, struct ListHead *links)
Definition: graphviz.c:1279
+ Here is the call graph for this function:

◆ dump_graphviz_expando_node()

void dump_graphviz_expando_node ( struct ExpandoNode node)

Definition at line 2084 of file graphviz.c.

2085{
2086 char name[256] = { 0 };
2087 struct ListHead links = STAILQ_HEAD_INITIALIZER(links);
2088
2089 time_t now = time(NULL);
2090 mutt_date_localtime_format(name, sizeof(name), "%T-expando.gv", now);
2091
2092 umask(022);
2093 FILE *fp = fopen(name, "w");
2094 if (!fp)
2095 return;
2096
2097 dot_graph_header(fp);
2098
2099 dot_expando_node_tree(fp, node, &links);
2100
2101 dot_graph_footer(fp, &links);
2102 fclose(fp);
2103 mutt_list_free(&links);
2104}
void dot_expando_node_tree(FILE *fp, struct ExpandoNode *node, struct ListHead *links)
Definition: graphviz.c:2029
+ Here is the call graph for this function:

◆ dump_keybindings()

void dump_keybindings ( void  )

Dump all the keybindings to the log.

Definition at line 145 of file keymap.c.

146{
147 mutt_debug(LL_DEBUG1, "Keybindings:\n");
148 for (int i = 1; i < MENU_MAX; i++)
149 {
151 log_menu(i, &Keymaps[i]);
152 }
153}
struct KeymapList Keymaps[MENU_MAX]
Array of key mappings, one for each MenuType.
Definition: lib.c:128
void log_menu(enum MenuType menu, struct KeymapList *kml)
Dump a Menu's keybindings to the log.
Definition: keymap.c:115
const char * mutt_map_get_name(int val, const struct Mapping *map)
Lookup a string for a constant.
Definition: mapping.c:42
const struct Mapping MenuNames[]
Menu name lookup table.
Definition: type.c:37
@ MENU_MAX
Definition: type.h:60
+ Here is the call graph for this function:

◆ name_content_disposition()

const char * name_content_disposition ( enum ContentDisposition  disp)

Definition at line 80 of file names.c.

81{
82 switch (disp)
83 {
89 }
90}
@ DISP_ATTACH
Content is attached.
Definition: mime.h:63
@ DISP_INLINE
Content is inline.
Definition: mime.h:62
@ DISP_NONE
No preferred disposition.
Definition: mime.h:65
@ DISP_FORM_DATA
Content is form-data.
Definition: mime.h:64
#define DEBUG_NAME(NAME)
Definition: names.c:39
#define DEBUG_DEFAULT
Definition: names.c:43
+ Here is the caller graph for this function:

◆ name_content_encoding()

const char * name_content_encoding ( enum ContentEncoding  enc)

Definition at line 65 of file names.c.

66{
67 switch (enc)
68 {
77 }
78}
@ ENC_7BIT
7-bit text
Definition: mime.h:49
@ ENC_UUENCODED
UUEncoded text.
Definition: mime.h:54
@ ENC_OTHER
Encoding unknown.
Definition: mime.h:48
@ ENC_BINARY
Binary.
Definition: mime.h:53
@ ENC_BASE64
Base-64 encoded text.
Definition: mime.h:52
@ ENC_8BIT
8-bit text
Definition: mime.h:50
@ ENC_QUOTED_PRINTABLE
Quoted-printable text.
Definition: mime.h:51
+ Here is the caller graph for this function:

◆ name_content_type()

const char * name_content_type ( enum ContentType  type)

Definition at line 47 of file names.c.

48{
49 switch (type)
50 {
62 }
63}
@ TYPE_AUDIO
Type: 'audio/*'.
Definition: mime.h:32
@ TYPE_IMAGE
Type: 'image/*'.
Definition: mime.h:34
@ TYPE_OTHER
Unknown Content-Type.
Definition: mime.h:31
@ TYPE_MESSAGE
Type: 'message/*'.
Definition: mime.h:35
@ TYPE_MODEL
Type: 'model/*'.
Definition: mime.h:36
@ TYPE_APPLICATION
Type: 'application/*'.
Definition: mime.h:33
@ TYPE_TEXT
Type: 'text/*'.
Definition: mime.h:38
@ TYPE_ANY
Type: '*' or '.*'.
Definition: mime.h:40
@ TYPE_VIDEO
Type: 'video/*'.
Definition: mime.h:39
+ Here is the caller graph for this function:

◆ name_mailbox_type()

const char * name_mailbox_type ( enum MailboxType  type)

Definition at line 123 of file names.c.

124{
125 switch (type)
126 {
140 }
141}
@ MUTT_NOTMUCH
'Notmuch' (virtual) Mailbox type
Definition: mailbox.h:51
@ MUTT_MMDF
'mmdf' Mailbox type
Definition: mailbox.h:46
@ MUTT_MAILBOX_ERROR
Error occurred examining Mailbox.
Definition: mailbox.h:43
@ MUTT_POP
'POP3' Mailbox type
Definition: mailbox.h:52
@ MUTT_MH
'MH' Mailbox type
Definition: mailbox.h:47
@ MUTT_NNTP
'NNTP' (Usenet) Mailbox type
Definition: mailbox.h:49
@ MUTT_IMAP
'IMAP' Mailbox type
Definition: mailbox.h:50
@ MUTT_MAILBOX_ANY
Match any Mailbox type.
Definition: mailbox.h:42
@ MUTT_COMPRESSED
Compressed file Mailbox type.
Definition: mailbox.h:53
@ MUTT_UNKNOWN
Mailbox wasn't recognised.
Definition: mailbox.h:44
@ MUTT_MAILDIR
'Maildir' Mailbox type
Definition: mailbox.h:48
+ Here is the caller graph for this function:

◆ name_menu_type()

const char * name_menu_type ( enum MenuType  mt)

Definition at line 143 of file names.c.

144{
145 switch (mt)
146 {
149#ifdef USE_AUTOCRYPT
151#endif
156#ifdef CRYPT_BACKEND_GPGME
159#endif
161#ifdef MIXMASTER
163#endif
171 }
172}
@ MENU_KEY_SELECT_PGP
Select a PGP key.
Definition: type.h:48
@ MENU_INDEX
Index panel (list of emails)
Definition: type.h:51
@ MENU_MIXMASTER
Create/edit a Mixmaster chain.
Definition: type.h:53
@ MENU_KEY_SELECT_SMIME
Select a SMIME key.
Definition: type.h:49
@ MENU_QUERY
Select from results of external query.
Definition: type.h:58
@ MENU_AUTOCRYPT
Autocrypt Account menu.
Definition: type.h:40
@ MENU_COMPOSE
Compose an email.
Definition: type.h:42
@ MENU_ATTACHMENT
Select an attachment.
Definition: type.h:38
@ MENU_PGP
PGP encryption menu.
Definition: type.h:56
@ MENU_GENERIC
Generic selection list.
Definition: type.h:46
@ MENU_PAGER
Pager pager (email viewer)
Definition: type.h:55
@ MENU_SMIME
SMIME encryption menu.
Definition: type.h:59
@ MENU_EDITOR
Text entry area.
Definition: type.h:44
@ MENU_ALIAS
Select an email address by its alias.
Definition: type.h:37
@ MENU_FOLDER
General file/mailbox browser.
Definition: type.h:45
@ MENU_POSTPONED
Select a postponed email.
Definition: type.h:57

◆ name_notify_config()

const char * name_notify_config ( int  id)

Definition at line 185 of file names.c.

186{
187 switch (id)
188 {
193 }
194}
@ NT_CONFIG_DELETED
Config item has been deleted.
Definition: subset.h:64
@ NT_CONFIG_RESET
Config item has been reset to initial, or parent, value.
Definition: subset.h:63
@ NT_CONFIG_SET
Config item has been set.
Definition: subset.h:62
+ Here is the caller graph for this function:

◆ name_notify_global()

const char * name_notify_global ( int  id)

Definition at line 174 of file names.c.

175{
176 switch (id)
177 {
182 }
183}
@ NT_GLOBAL_STARTUP
NeoMutt is initialised.
Definition: neomutt.h:59
@ NT_GLOBAL_COMMAND
A NeoMutt command.
Definition: neomutt.h:61
@ NT_GLOBAL_SHUTDOWN
NeoMutt is about to close.
Definition: neomutt.h:60
+ Here is the caller graph for this function:

◆ name_notify_mailbox()

const char * name_notify_mailbox ( int  id)

Definition at line 196 of file names.c.

197{
198 switch (id)
199 {
209 }
210}
@ NT_MAILBOX_UNTAG
Clear the 'last-tagged' pointer.
Definition: mailbox.h:192
@ NT_MAILBOX_CHANGE
Mailbox has been changed.
Definition: mailbox.h:185
@ NT_MAILBOX_RESORT
Email list needs resorting.
Definition: mailbox.h:190
@ NT_MAILBOX_DELETE
Mailbox is about to be deleted.
Definition: mailbox.h:183
@ NT_MAILBOX_INVALID
Email list was changed.
Definition: mailbox.h:189
@ NT_MAILBOX_DELETE_ALL
All Mailboxes are about to be deleted.
Definition: mailbox.h:184
@ NT_MAILBOX_UPDATE
Update internal tables.
Definition: mailbox.h:191
@ NT_MAILBOX_ADD
Mailbox has been added.
Definition: mailbox.h:182
+ Here is the caller graph for this function:

◆ name_notify_mview()

const char * name_notify_mview ( int  id)

Definition at line 212 of file names.c.

213{
214 switch (id)
215 {
220 }
221}
@ NT_MVIEW_DELETE
The Mview is about to be destroyed.
Definition: mview.h:63
@ NT_MVIEW_CHANGE
The Mview has changed.
Definition: mview.h:64
@ NT_MVIEW_ADD
The Mview has been opened.
Definition: mview.h:62
+ Here is the caller graph for this function:

◆ name_notify_type()

const char * name_notify_type ( enum NotifyType  type)

Definition at line 92 of file names.c.

93{
94 switch (type)
95 {
120 }
121}
@ NT_TIMEOUT
Timeout has occurred.
Definition: notify_type.h:56
@ NT_WINDOW
MuttWindow has changed, NotifyWindow, EventWindow.
Definition: notify_type.h:57
@ NT_MENU
Menu has changed, MenuRedrawFlags.
Definition: notify_type.h:51
@ NT_ATTACH
Attachment command changed, NotifyAttach.
Definition: notify_type.h:39
@ NT_CONFIG
Config has changed, NotifyConfig, EventConfig.
Definition: notify_type.h:43
@ NT_COLOR
Colour has changed, NotifyColor, EventColor.
Definition: notify_type.h:41
@ NT_EMAIL
Email has changed, NotifyEmail, EventEmail.
Definition: notify_type.h:44
@ NT_BINDING
Key binding has changed, NotifyBinding, EventBinding.
Definition: notify_type.h:40
@ NT_ENVELOPE
Envelope has changed, NotifyEnvelope.
Definition: notify_type.h:45
@ NT_SCORE
Email scoring has changed.
Definition: notify_type.h:54
@ NT_MAILBOX
Mailbox has changed, NotifyMailbox, EventMailbox.
Definition: notify_type.h:49
@ NT_PAGER
Pager data has changed, NotifyPager, PagerPrivateData.
Definition: notify_type.h:53
@ NT_COMMAND
A Command has been executed, Command.
Definition: notify_type.h:42
@ NT_HEADER
A header has changed, NotifyHeader EventHeader.
Definition: notify_type.h:47
@ NT_ACCOUNT
Account has changed, NotifyAccount, EventAccount.
Definition: notify_type.h:36
@ NT_INDEX
Index data has changed, NotifyIndex, IndexSharedData.
Definition: notify_type.h:48
@ NT_ALL
Register for all notifications.
Definition: notify_type.h:35
@ NT_MVIEW
MailboxView has changed, NotifyMview, EventMview.
Definition: notify_type.h:50
@ NT_GLOBAL
Not object-related, NotifyGlobal.
Definition: notify_type.h:46
@ NT_ALTERN
Alternates command changed, NotifyAlternates.
Definition: notify_type.h:38
@ NT_SUBJRX
Subject Regex has changed, NotifySubjRx.
Definition: notify_type.h:55
@ NT_RESIZE
Window has been resized.
Definition: notify_type.h:52
@ NT_ALIAS
Alias has changed, NotifyAlias, EventAlias.
Definition: notify_type.h:37
+ Here is the caller graph for this function:

◆ name_window_size()

const char * name_window_size ( const struct MuttWindow win)

Definition at line 261 of file names.c.

262{
263 if (!win)
264 return "NULL";
265
266 switch (win->size)
267 {
272 }
273}
@ MUTT_WIN_SIZE_FIXED
Window has a fixed size.
Definition: mutt_window.h:47
@ MUTT_WIN_SIZE_MINIMISE
Window size depends on its children.
Definition: mutt_window.h:49
@ MUTT_WIN_SIZE_MAXIMISE
Window wants as much space as possible.
Definition: mutt_window.h:48
enum MuttWindowSize size
Type of Window, e.g. MUTT_WIN_SIZE_FIXED.
Definition: mutt_window.h:131
+ Here is the caller graph for this function:

◆ name_window_type()

const char * name_window_type ( const struct MuttWindow win)

Definition at line 223 of file names.c.

224{
225 if (!win)
226 return "NULL";
227
228 switch (win->type)
229 {
258 }
259}
@ WT_CUSTOM
Window with a custom drawing function.
Definition: mutt_window.h:95
@ WT_ROOT
Parent of All Windows.
Definition: mutt_window.h:72
@ WT_DLG_ALIAS
Alias Dialog, dlg_alias()
Definition: mutt_window.h:77
@ WT_ALL_DIALOGS
Container for All Dialogs (nested Windows)
Definition: mutt_window.h:74
@ WT_DLG_BROWSER
Browser Dialog, dlg_browser()
Definition: mutt_window.h:80
@ WT_MESSAGE
Window for messages/errors.
Definition: mutt_window.h:99
@ WT_DLG_SMIME
Smime Dialog, dlg_smime()
Definition: mutt_window.h:92
@ WT_DLG_QUERY
Query Dialog, dlg_query()
Definition: mutt_window.h:90
@ WT_DLG_HISTORY
History Dialog, dlg_history()
Definition: mutt_window.h:85
@ WT_DLG_PGP
Pgp Dialog, dlg_pgp()
Definition: mutt_window.h:88
@ WT_CONTAINER
Invisible shaping container Window.
Definition: mutt_window.h:73
@ WT_DLG_CERTIFICATE
Certificate Dialog, dlg_certificate()
Definition: mutt_window.h:81
@ WT_DLG_COMPOSE
Compose Dialog, dlg_compose()
Definition: mutt_window.h:82
@ WT_DLG_INDEX
Index Dialog, dlg_index()
Definition: mutt_window.h:86
@ WT_PAGER
A panel containing the Pager Window.
Definition: mutt_window.h:100
@ WT_DLG_GPGME
GPGME Dialog, dlg_gpgme()
Definition: mutt_window.h:83
@ WT_STATUS_BAR
Status Bar containing extra info about the Index/Pager/etc.
Definition: mutt_window.h:102
@ WT_HELP_BAR
Help Bar containing list of useful key bindings.
Definition: mutt_window.h:96
@ WT_DLG_MIXMASTER
Mixmaster Dialog, dlg_mixmaster()
Definition: mutt_window.h:91
@ WT_DLG_POSTPONED
Postponed Dialog, dlg_postponed()
Definition: mutt_window.h:89
@ WT_INDEX
A panel containing the Index Window.
Definition: mutt_window.h:97
@ WT_DLG_ATTACHMENT
Attachment Dialog, dlg_attachment()
Definition: mutt_window.h:78
@ WT_SIDEBAR
Side panel containing Accounts or groups of data.
Definition: mutt_window.h:101
@ WT_DLG_PAGER
Pager Dialog, dlg_pager()
Definition: mutt_window.h:84
@ WT_DLG_AUTOCRYPT
Autocrypt Dialog, dlg_autocrypt()
Definition: mutt_window.h:79
@ WT_MENU
An Window containing a Menu.
Definition: mutt_window.h:98
@ WT_DLG_PATTERN
Pattern Dialog, dlg_pattern()
Definition: mutt_window.h:87
enum WindowType type
Window type, e.g. WT_SIDEBAR.
Definition: mutt_window.h:144

◆ debug_all_observer()

int debug_all_observer ( struct NotifyCallback nc)

Definition at line 205 of file notify.c.

206{
207 mutt_debug(LL_DEBUG1, "\033[1;31mNotification:\033[0m %s\n",
209
210 switch (nc->event_type)
211 {
212 case NT_ACCOUNT:
214 break;
215 case NT_COLOR:
217 break;
218 case NT_COMMAND:
220 break;
221 case NT_CONFIG:
223 break;
224 case NT_MVIEW:
226 break;
227 case NT_EMAIL:
229 break;
230 case NT_GLOBAL:
232 break;
233 case NT_MAILBOX:
235 break;
236 case NT_RESIZE:
237 case NT_TIMEOUT:
238 break; // no other data
239 case NT_WINDOW:
242 else if (nc->event_subtype == NT_WINDOW_FOCUS)
244 break;
245 default:
246 mutt_debug(LL_DEBUG1, " Event Type: %d\n", nc->event_type);
247 mutt_debug(LL_DEBUG1, " Event Sub-type: %d\n", nc->event_subtype);
248 mutt_debug(LL_DEBUG1, " Event Data: %p\n", nc->event_data);
249 break;
250 }
251
252 mutt_debug(LL_DEBUG1, " Global Data: %p\n", nc->global_data);
253
254 mutt_debug(LL_DEBUG5, "debug done\n");
255 return 0;
256}
const char * name_notify_type(enum NotifyType type)
Definition: names.c:92
static void notify_dump_global(struct NotifyCallback *nc)
Definition: notify.c:125
static void notify_dump_config(struct NotifyCallback *nc)
Definition: notify.c:91
static void notify_dump_mview(struct NotifyCallback *nc)
Definition: notify.c:102
static void notify_dump_command(struct NotifyCallback *nc)
Definition: notify.c:81
static void notify_dump_color(struct NotifyCallback *nc)
Definition: notify.c:54
static void notify_dump_mailbox(struct NotifyCallback *nc)
Definition: notify.c:130
static void notify_dump_window_focus(struct NotifyCallback *nc)
Definition: notify.c:175
static void notify_dump_account(struct NotifyCallback *nc)
Definition: notify.c:43
static void notify_dump_email(struct NotifyCallback *nc)
Definition: notify.c:114
static void notify_dump_window_state(struct NotifyCallback *nc)
Definition: notify.c:140
@ LL_DEBUG5
Log at debug level 5.
Definition: logging2.h:47
@ NT_WINDOW_STATE
Window state has changed, e.g. WN_VISIBLE.
Definition: mutt_window.h:230
@ NT_WINDOW_FOCUS
Window focus has changed.
Definition: mutt_window.h:232
void * event_data
Data from notify_send()
Definition: observer.h:38
enum NotifyType event_type
Send: Event type, e.g. NT_ACCOUNT.
Definition: observer.h:36
int event_subtype
Send: Event subtype, e.g. NT_ACCOUNT_ADD.
Definition: observer.h:37
void * global_data
Data from notify_observer_add()
Definition: observer.h:39
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dump_pager()

void dump_pager ( struct PagerPrivateData priv)

Definition at line 101 of file pager.c.

102{
103 if (!priv)
104 return;
105
106 mutt_debug(LL_DEBUG1, "----------------------------------------------\n");
107 mutt_debug(LL_DEBUG1, "Pager: %d lines (fd %d)\n", priv->lines_used, fileno(priv->fp));
108 for (int i = 0; i < priv->lines_used; i++)
109 {
110 dump_line(i, &priv->lines[i]);
111 }
112}
void dump_line(int i, struct Line *line)
Definition: pager.c:58
int lines_used
Size of lines array (used entries)
Definition: private_data.h:49
struct Line * lines
Array of text lines in pager.
Definition: private_data.h:48
FILE * fp
File containing decrypted/decoded/weeded Email.
Definition: private_data.h:44
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ debug_win_dump()

void debug_win_dump ( void  )

Definition at line 96 of file window.c.

97{
99 mutt_debug(LL_DEBUG1, "\n");
101 mutt_debug(LL_DEBUG1, "\n");
102#ifdef DEBUG_SHOW_SERIALISE
103 struct Buffer buf = buf_pool_get();
104 win_serialise(RootWindow, buf);
105 mutt_debug(LL_DEBUG1, "%s\n", buf_string(buf));
106 buf_pool_release(&buf);
107#endif
108 WinFocus = NULL;
109}
static void win_dump(struct MuttWindow *win, int indent)
Definition: window.c:42
static struct MuttWindow * WinFocus
The Window that is currently focussed.
Definition: window.c:40
struct MuttWindow * window_get_focus(void)
Get the currently focused Window.
Definition: mutt_window.c:668
struct MuttWindow * RootWindow
Parent of all Windows.
Definition: rootwin.c:106
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ DebugLogColor

bool DebugLogColor
extern

Output ANSI colours.

Definition at line 39 of file logging.c.

◆ DebugLogLevel

bool DebugLogLevel
extern

Prefix log level, e.g. [E].

Definition at line 40 of file logging.c.

◆ DebugLogTimestamp

bool DebugLogTimestamp
extern

Show the timestamp.

Definition at line 41 of file logging.c.