NeoMutt  2024-12-12-14-g7b49f7
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
lib.h File Reference

Convenience wrapper for the debug headers. More...

#include <stdbool.h>
#include <stddef.h>
#include <time.h>
#include "mutt/lib.h"
#include "email/lib.h"
#include "core/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_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:291
size_t buf_addch(struct Buffer *buf, char c)
Add a single character to a Buffer.
Definition: buffer.c:241
size_t buf_addstr(struct Buffer *buf, const char *s)
Add a string to a Buffer.
Definition: buffer.c:226
+ 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 = { 0 };
42 unw_context_t uc = { 0 };
43 unw_word_t ip = 0;
44 unw_word_t sp = 0;
45 char buf[256] = { 0 };
46
47 printf("\n%s\n", mutt_make_version());
48 printf("Backtrace\n");
49 mutt_debug(LL_DEBUG1, "\nBacktrace\n");
50 unw_getcontext(&uc);
51 unw_init_local(&cursor, &uc);
52 while (unw_step(&cursor) > 0)
53 {
54 unw_get_reg(&cursor, UNW_REG_IP, &ip);
55 unw_get_reg(&cursor, UNW_REG_SP, &sp);
56 unw_get_proc_name(&cursor, buf, sizeof(buf), &ip);
57 if (buf[0] == '_')
58 continue;
59 printf(" %s() ip = %lx, sp = %lx\n", buf, (long) ip, (long) sp);
60 mutt_debug(LL_DEBUG1, " %s() ip = %lx, sp = %lx\n", buf, (long) ip, (long) sp);
61 }
62 printf("\n");
63}
#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:858
+ 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 372 of file email.c.

373{
374 if (!b)
375 return '!';
376
377 if (b->type == TYPE_MULTIPART)
378 return '&';
379
380 if (b->description)
381 return b->description[0];
382
383 if (b->filename)
384 {
385 const char *base = basename(b->filename);
386 if (mutt_str_startswith(base, "neomutt-"))
387 return '0';
388
389 return base[0];
390 }
391
392 return '!';
393}
@ 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:59
+ 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:581
struct Buffer * buf_pool_get(void)
Get a Buffer from the pool.
Definition: pool.c:82
void buf_pool_release(struct Buffer **ptr)
Return a Buffer to the pool.
Definition: pool.c:96
#define TAILQ_EMPTY(head)
Definition: queue.h:739
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 344 of file email.c.

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

◆ dump_body()

void dump_body ( const struct Body body)

Definition at line 261 of file email.c.

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

396{
397 if (!b)
398 return;
399
400 buf_addstr(buf, "<");
401 for (; b; b = b->next)
402 {
403 buf_add_printf(buf, "%c", body_name(b));
404 dump_body_next(buf, b->parts);
405 if (b->next)
406 buf_addch(buf, ',');
407 }
408 buf_addstr(buf, ">");
409}
int buf_add_printf(struct Buffer *buf, const char *fmt,...)
Format a string appending a Buffer.
Definition: buffer.c:204
void dump_body_next(struct Buffer *buf, const struct Body *b)
Definition: email.c:395
char body_name(const struct Body *b)
Definition: email.c:372
+ 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 411 of file email.c.

412{
413 if (!b)
414 return;
415
416 struct Buffer *buf = buf_pool_get();
417 buf_addstr(buf, "Body layout: ");
418 dump_body_next(buf, b);
419
420 mutt_message("%s", buf_string(buf));
421 buf_pool_release(&buf);
422}
#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}
void buf_reset(struct Buffer *buf)
Reset an existing Buffer.
Definition: buffer.c:76
#define SEC_INLINE
Email has an inline signature.
Definition: lib.h:91
#define SEC_AUTOCRYPT
(Autocrypt) Message will be, or was Autocrypt encrypt+signed
Definition: lib.h:93
#define SEC_OPPENCRYPT
Opportunistic encrypt mode.
Definition: lib.h:92
#define PGP_TRADITIONAL_CHECKED
Email has a traditional (inline) signature.
Definition: lib.h:98
#define SEC_GOODSIGN
Email has a valid signature.
Definition: lib.h:86
#define APPLICATION_PGP
Use PGP to encrypt/sign.
Definition: lib.h:96
#define SEC_SIGNOPAQUE
Email has an opaque signature (encrypted)
Definition: lib.h:89
#define SEC_BADSIGN
Email has a bad signature.
Definition: lib.h:87
#define APPLICATION_SMIME
Use SMIME to encrypt/sign.
Definition: lib.h:97
#define SEC_PARTSIGN
Not all parts of the email is signed.
Definition: lib.h:88
#define SEC_ENCRYPT
Email is encrypted.
Definition: lib.h:84
#define SEC_AUTOCRYPT_OVERRIDE
(Autocrypt) Indicates manual set/unset of encryption
Definition: lib.h:94
#define SEC_SIGN
Email is signed.
Definition: lib.h:85
#define SEC_KEYBLOCK
Email has a key attached.
Definition: lib.h:90
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:123
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:115
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:114
int score
Message score.
Definition: email.h:113
int msgno
Number displayed to the user.
Definition: email.h:111
char * path
Path of Email (for local Mailboxes)
Definition: email.h:70
int index
The absolute (unsorted) message number.
Definition: email.h:110
short recipient
User_is_recipient()'s return value, cached.
Definition: email.h:116
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:37
char * data
String.
Definition: list.h:38
+ 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 238 of file email.c.

239{
240 mutt_debug(LL_DEBUG1, "\tparameters\n");
241
242 if (!pl)
243 {
244 mutt_debug(LL_DEBUG1, "\tNULL pointer\n");
245 return;
246 }
247
248 if (TAILQ_EMPTY(pl))
249 {
250 mutt_debug(LL_DEBUG1, "\tempty\n");
251 return;
252 }
253
254 struct Parameter *np = NULL;
255 TAILQ_FOREACH(np, pl, entries)
256 {
257 mutt_debug(LL_DEBUG1, "\t\t%s = %s\n", NONULL(np->attribute), NONULL(np->value));
258 }
259}
#define TAILQ_FOREACH(var, head, field)
Definition: queue.h:743
#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 90 of file names_expando.c.

91{
92 switch (did)
93 {
116 }
117}
@ ED_ENVELOPE
Envelope ED_ENV_ ExpandoDataEnvelope.
Definition: domain.h:42
@ ED_SIDEBAR
Sidebar ED_SID_ ExpandoDataSidebar.
Definition: domain.h:54
@ 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:52
@ ED_FOLDER
Folder ED_FOL_ ExpandoDataFolder.
Definition: domain.h:43
@ ED_SMIME_CMD
Smime Command ED_SMI_ ExpandoDataSmimeCmd.
Definition: domain.h:55
@ ED_PGP
Pgp ED_PGP_ ExpandoDataPgp.
Definition: domain.h:51
@ ED_PATTERN
Pattern ED_PAT_ ExpandoDataPattern.
Definition: domain.h:50
@ 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:53
@ ED_NNTP
Nntp ED_NTP_ ExpandoDataNntp.
Definition: domain.h:49
@ 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:56
#define DEBUG_DEFAULT
Definition: names_expando.c:60
+ Here is the caller graph for this function:

◆ name_expando_node_type()

const char * name_expando_node_type ( enum ExpandoNodeType  type)

Definition at line 64 of file names_expando.c.

65{
66 switch (type)
67 {
76 }
77}
@ ENT_EXPANDO
Expando, e.g. 'n'.
Definition: node.h:39
@ ENT_CONDITION
True/False condition.
Definition: node.h:41
@ ENT_TEXT
Plain text.
Definition: node.h:38
@ ENT_CONDDATE
True/False date condition.
Definition: node.h:43
@ ENT_EMPTY
Empty.
Definition: node.h:37
@ ENT_CONDBOOL
True/False boolean condition.
Definition: node.h:42
@ ENT_PADDING
Padding: soft, hard, EOL.
Definition: node.h:40

◆ name_expando_pad_type()

const char * name_expando_pad_type ( enum ExpandoPadType  type)

Definition at line 79 of file names_expando.c.

80{
81 switch (type)
82 {
87 }
88}
@ EPT_FILL_EOL
Fill to the end-of-line.
Definition: node_padding.h:45
@ EPT_SOFT_FILL
Soft-fill: right-hand-side will be truncated.
Definition: node_padding.h:47
@ EPT_HARD_FILL
Hard-fill: left-hand-side will be truncated.
Definition: node_padding.h:46

◆ name_expando_uid()

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

Definition at line 470 of file names_expando.c.

471{
472 switch (did)
473 {
474 case ED_ALIAS:
475 return name_expando_uid_alias(uid);
476 case ED_ATTACH:
477 return name_expando_uid_attach(uid);
478#ifdef USE_AUTOCRYPT
479 case ED_AUTOCRYPT:
480 return name_expando_uid_autocrypt(uid);
481#endif
482 case ED_BODY:
483 return name_expando_uid_body(uid);
484 case ED_COMPOSE:
485 return name_expando_uid_compose(uid);
486 case ED_COMPRESS:
487 return name_expando_uid_compress(uid);
488 case ED_EMAIL:
489 return name_expando_uid_email(uid);
490 case ED_ENVELOPE:
491 return name_expando_uid_envelope(uid);
492 case ED_FOLDER:
493 return name_expando_uid_folder(uid);
494 case ED_GLOBAL:
495 return name_expando_uid_global(uid);
496 case ED_HISTORY:
497 return name_expando_uid_history(uid);
498 case ED_INDEX:
499 return name_expando_uid_index(uid);
500 case ED_MAILBOX:
501 return name_expando_uid_mailbox(uid);
502 case ED_MENU:
503 return name_expando_uid_menu(uid);
504 case ED_NNTP:
505 return name_expando_uid_nntp(uid);
506 case ED_PATTERN:
507 return name_expando_uid_pattern(uid);
508 case ED_PGP:
509 return name_expando_uid_pgp(uid);
510 case ED_PGP_CMD:
511 return name_expando_uid_pgp_cmd(uid);
512 case ED_PGP_KEY:
513 return name_expando_uid_pgp_key(uid);
514 case ED_SIDEBAR:
515 return name_expando_uid_sidebar(uid);
516 case ED_SMIME_CMD:
517 return name_expando_uid_smime_cmd(uid);
518 default:
519 ASSERT(false);
520 return "UNKNOWN";
521 }
522}
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_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)
#define ASSERT(COND)
Definition: signal2.h:58
+ 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 119 of file names_expando.c.

120{
121 switch (uid)
122 {
131 }
132}
@ ED_ALI_FLAGS
Alias.flags.
Definition: expando.h:39
@ ED_ALI_NUMBER
AliasView.num.
Definition: expando.h:41
@ ED_ALI_NAME
Alias.addr.personal.
Definition: expando.h:40
@ ED_ALI_ADDRESS
Alias.addr.
Definition: expando.h:35
@ ED_ALI_COMMENT
Alias.comment.
Definition: expando.h:37
@ ED_ALI_TAGGED
AliasView.tagged.
Definition: expando.h:42
@ ED_ALI_TAGS
Alias.tags.
Definition: expando.h:43
+ 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 134 of file names_expando.c.

135{
136 switch (uid)
137 {
142 }
143}
@ ED_ATT_NUMBER
AttachPtr.num.
Definition: attach.h:55
@ ED_ATT_TREE
AttachPtr.tree.
Definition: attach.h:56
@ ED_ATT_CHARSET
AttachPtr.body.
Definition: attach.h:54
+ Here is the caller graph for this function:

◆ name_expando_uid_autocrypt()

const char * name_expando_uid_autocrypt ( int  uid)

Definition at line 146 of file names_expando.c.

147{
148 switch (uid)
149 {
156 }
157}
@ ED_AUT_ADDRESS
AccountEntry.addr.
Definition: private.h:62
@ ED_AUT_KEYID
AutocryptAccount.keyid.
Definition: private.h:61
@ ED_AUT_NUMBER
AccountEntry.num.
Definition: private.h:63
@ ED_AUT_ENABLED
AutocryptAccount.enabled.
Definition: private.h:60
@ ED_AUT_PREFER_ENCRYPT
AutocryptAccount.prefer_encrypt.
Definition: private.h:64
+ Here is the caller graph for this function:

◆ name_expando_uid_body()

const char * name_expando_uid_body ( int  uid)

Definition at line 160 of file names_expando.c.

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

◆ name_expando_uid_compose()

const char * name_expando_uid_compose ( int  uid)

Definition at line 182 of file names_expando.c.

183{
184 switch (uid)
185 {
189 }
190}
@ ED_COM_ATTACH_COUNT
ComposeAttachData, num_attachments()
Definition: shared_data.h:58
@ ED_COM_ATTACH_SIZE
ComposeAttachData, cum_attachs_size()
Definition: shared_data.h:59
+ Here is the caller graph for this function:

◆ name_expando_uid_compress()

const char * name_expando_uid_compress ( int  uid)

Definition at line 192 of file names_expando.c.

193{
194 switch (uid)
195 {
199 }
200}
@ ED_CMP_FROM
'from' path
Definition: lib.h:50
@ ED_CMP_TO
'to' path
Definition: lib.h:51
+ Here is the caller graph for this function:

◆ name_expando_uid_email()

const char * name_expando_uid_email ( int  uid)

Definition at line 202 of file names_expando.c.

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

◆ name_expando_uid_envelope()

const char * name_expando_uid_envelope ( int  uid)

Definition at line 235 of file names_expando.c.

236{
237 switch (uid)
238 {
265 }
266}
@ 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 268 of file names_expando.c.

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

◆ name_expando_uid_global()

const char * name_expando_uid_global ( int  uid)

Definition at line 297 of file names_expando.c.

298{
299 switch (uid)
300 {
307 }
308}
@ ED_GLO_CONFIG_USE_THREADS
Value of $use_threads.
Definition: uid.h:36
@ ED_GLO_CONFIG_SORT
Value of $sort.
Definition: uid.h:34
@ ED_GLO_VERSION
NeoMutt version.
Definition: uid.h:42
@ ED_GLO_CONFIG_SORT_AUX
Value of $sort_aux.
Definition: uid.h:35
@ ED_GLO_HOSTNAME
Local hostname.
Definition: uid.h:37
+ Here is the caller graph for this function:

◆ name_expando_uid_history()

const char * name_expando_uid_history ( int  uid)

Definition at line 310 of file names_expando.c.

311{
312 switch (uid)
313 {
317 }
318}
@ ED_HIS_MATCH
HistoryEntry.history.
Definition: lib.h:79
@ ED_HIS_NUMBER
HistoryEntry.num.
Definition: lib.h:80
+ Here is the caller graph for this function:

◆ name_expando_uid_index()

const char * name_expando_uid_index ( int  uid)

Definition at line 320 of file names_expando.c.

321{
322 switch (uid)
323 {
341 }
342}
@ 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 344 of file names_expando.c.

345{
346 switch (uid)
347 {
352 }
353}
@ ED_MBX_MESSAGE_COUNT
Mailbox.msg_count.
Definition: mailbox.h:158
@ ED_MBX_PERCENTAGE
EmailFormatInfo.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 355 of file names_expando.c.

356{
357 if (uid == ED_MEN_PERCENTAGE)
358 return "ED_MEN_PERCENTAGE";
359
360 return "UNKNOWN";
361}
@ ED_MEN_PERCENTAGE
Menu.top, ...
Definition: lib.h:68
+ Here is the caller graph for this function:

◆ name_expando_uid_nntp()

const char * name_expando_uid_nntp ( int  uid)

Definition at line 363 of file names_expando.c.

364{
365 switch (uid)
366 {
374 }
375}
@ 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 377 of file names_expando.c.

378{
379 switch (uid)
380 {
385 }
386}
@ ED_PAT_DESCRIPTION
PatternEntry.desc.
Definition: private.h:40
@ ED_PAT_EXPRESSION
PatternEntry.expr.
Definition: private.h:41
@ ED_PAT_NUMBER
PatternEntry.num.
Definition: private.h:42
+ Here is the caller graph for this function:

◆ name_expando_uid_pgp()

const char * name_expando_uid_pgp ( int  uid)

Definition at line 388 of file names_expando.c.

389{
390 switch (uid)
391 {
396 }
397}
@ 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 399 of file names_expando.c.

400{
401 switch (uid)
402 {
409 }
410}
@ 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 412 of file names_expando.c.

413{
414 switch (uid)
415 {
428 }
429}
@ ED_PGK_KEY_CAPABILITIES
PgpKeyInfo.flags, pgp_key_abilities()
Definition: pgplib.h:71
@ ED_PGK_PKEY_LENGTH
pgp_principal_key(), PgpKeyInfo.keylen
Definition: pgplib.h:81
@ ED_PGK_PKEY_ALGORITHM
pgp_principal_key(), PgpKeyInfo.algorithm
Definition: pgplib.h:76
@ ED_PGK_DATE
PgpKeyInfo.gen_time.
Definition: pgplib.h:69
@ ED_PGK_KEY_ID
PgpKeyInfo, pgp_this_keyid()
Definition: pgplib.h:74
@ ED_PGK_PKEY_CAPABILITIES
pgp_principal_key(), PgpKeyInfo.flags, pgp_key_abilities()
Definition: pgplib.h:77
@ ED_PGK_KEY_FLAGS
PgpKeyInfo.kflags, pgp_flags()
Definition: pgplib.h:73
@ ED_PGK_PKEY_ID
pgp_principal_key(), PgpKeyInfo, pgp_this_keyid()
Definition: pgplib.h:80
@ ED_PGK_KEY_ALGORITHM
PgpKeyInfo.algorithm.
Definition: pgplib.h:70
@ ED_PGK_KEY_LENGTH
PgpKeyInfo.keylen.
Definition: pgplib.h:75
@ ED_PGK_PKEY_FLAGS
pgp_principal_key(), PgpKeyInfo.kflags, pgp_flags()
Definition: pgplib.h:79
+ 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 431 of file names_expando.c.

432{
433 switch (uid)
434 {
451 }
452}
@ 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 454 of file names_expando.c.

455{
456 switch (uid)
457 {
467 }
468}
@ ED_SMI_MESSAGE_FILE
SmimeCommandContext.fname.
Definition: smime.h:81
@ ED_SMI_ALGORITHM
SmimeCommandContext.cryptalg.
Definition: smime.h:75
@ ED_SMI_SIGNATURE_FILE
SmimeCommandContext.sig_fname.
Definition: smime.h:82
@ ED_SMI_DIGEST_ALGORITHM
SmimeCommandContext.digestalg.
Definition: smime.h:78
@ ED_SMI_CERTIFICATE_IDS
SmimeCommandContext.certificates.
Definition: smime.h:76
@ ED_SMI_KEY
SmimeCommandContext.key.
Definition: smime.h:80
@ ED_SMI_INTERMEDIATE_IDS
SmimeCommandContext.intermediates.
Definition: smime.h:79
@ ED_SMI_CERTIFICATE_PATH
Path of Smime certificates.
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 524 of file names_expando.c.

525{
526 switch (just)
527 {
532 }
533}
@ 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 897 of file graphviz.c.

898{
899 char name[256] = { 0 };
900 struct ListHead links = STAILQ_HEAD_INITIALIZER(links);
901
902 time_t now = time(NULL);
903 if (title)
904 {
905 char date[128];
906 mutt_date_localtime_format(date, sizeof(date), "%T", now);
907 snprintf(name, sizeof(name), "%s-%s.gv", date, title);
908 }
909 else
910 {
911 mutt_date_localtime_format(name, sizeof(name), "%T.gv", now);
912 }
913
914 umask(022);
915 FILE *fp = fopen(name, "w");
916 if (!fp)
917 return;
918
920
921#ifndef GV_HIDE_NEOMUTT
922 dot_node(fp, NeoMutt, "NeoMutt", "#ffa500");
924 "NeoMutt->accounts", NULL, false, NULL);
925#ifndef GV_HIDE_CONFIG
926 dot_config(fp, (const char *) NeoMutt->sub, 0, NeoMutt->sub, &links);
927 dot_add_link(&links, NeoMutt, NeoMutt->sub, "NeoMutt Config", NULL, false, NULL);
928 struct Buffer *buf = buf_pool_get();
929 char obj1[64] = { 0 };
930 char obj2[64] = { 0 };
931 dot_ptr_name(obj1, sizeof(obj1), NeoMutt);
932 dot_ptr_name(obj2, sizeof(obj2), NeoMutt->sub);
933 buf_printf(buf, "{ rank=same %s %s }", obj1, obj2);
934 mutt_list_insert_tail(&links, buf_strdup(buf));
935 buf_pool_release(&buf);
936#endif
937#endif
938
939 dot_account_list(fp, &NeoMutt->accounts, &links);
940
941#ifndef GV_HIDE_MVIEW
942 if (mv)
943 dot_mview(fp, mv, &links);
944
945#ifndef GV_HIDE_NEOMUTT
946 /* Globals */
947 fprintf(fp, "\t{ rank=same ");
948 if (mv)
949 {
950 dot_ptr_name(name, sizeof(name), mv);
951 fprintf(fp, "%s ", name);
952 }
953 dot_ptr_name(name, sizeof(name), NeoMutt);
954 fprintf(fp, "%s ", name);
955 fprintf(fp, "}\n");
956#endif
957#endif
958
959 fprintf(fp, "\t{ rank=same ");
960 struct Account *np = NULL;
961 TAILQ_FOREACH(np, &NeoMutt->accounts, entries)
962 {
963#ifdef GV_HIDE_MBOX
964 if (np->type == MUTT_MBOX)
965 continue;
966#endif
967 dot_ptr_name(name, sizeof(name), np);
968 fprintf(fp, "%s ", name);
969 }
970 fprintf(fp, "}\n");
971
972 dot_graph_footer(fp, &links);
973 fclose(fp);
974 mutt_list_free(&links);
975}
int buf_printf(struct Buffer *buf, const char *fmt,...)
Format a string overwriting a Buffer.
Definition: buffer.c:161
char * buf_strdup(const struct Buffer *buf)
Copy a Buffer's string.
Definition: buffer.c:571
@ MUTT_MBOX
'mbox' Mailbox type
Definition: mailbox.h:45
void dot_ptr_name(char *buf, size_t buflen, const void *ptr)
Definition: graphviz.c:183
void dot_graph_header(FILE *fp)
Definition: graphviz.c:233
void dot_account_list(FILE *fp, struct AccountList *al, struct ListHead *links)
Definition: graphviz.c:865
void dot_config(FILE *fp, const char *name, int type, struct ConfigSubset *sub, struct ListHead *links)
Definition: graphviz.c:359
void dot_graph_footer(FILE *fp, struct ListHead *links)
Definition: graphviz.c:256
void dot_mview(FILE *fp, struct MailboxView *mv, struct ListHead *links)
Definition: graphviz.c:884
void dot_node(FILE *fp, void *ptr, const char *name, const char *colour)
Definition: graphviz.c:291
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:205
struct ListNode * mutt_list_insert_tail(struct ListHead *h, char *s)
Append a string to the end of a List.
Definition: list.c:65
void mutt_list_free(struct ListHead *h)
Free a List AND its strings.
Definition: list.c:123
size_t mutt_date_localtime_format(char *buf, size_t buflen, const char *format, time_t t)
Format localtime.
Definition: date.c:951
#define STAILQ_HEAD_INITIALIZER(head)
Definition: queue.h:324
#define TAILQ_FIRST(head)
Definition: queue.h:741
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:42
struct AccountList accounts
List of all Accounts.
Definition: neomutt.h:47
struct ConfigSubset * sub
Inherited config items.
Definition: neomutt.h:46
+ 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 1591 of file graphviz.c.

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

◆ dump_graphviz_body()

void dump_graphviz_body ( struct Body b)

Definition at line 1401 of file graphviz.c.

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

◆ dump_graphviz_email()

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

Definition at line 1423 of file graphviz.c.

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

◆ dump_graphviz_expando_node()

void dump_graphviz_expando_node ( struct ExpandoNode node)

Definition at line 2032 of file graphviz.c.

2033{
2034 char name[256] = { 0 };
2035 struct ListHead links = STAILQ_HEAD_INITIALIZER(links);
2036
2037 time_t now = time(NULL);
2038 mutt_date_localtime_format(name, sizeof(name), "%T-expando.gv", now);
2039
2040 umask(022);
2041 FILE *fp = fopen(name, "w");
2042 if (!fp)
2043 return;
2044
2045 dot_graph_header(fp);
2046
2047 dot_expando_node(fp, node, &links);
2048
2049 dot_graph_footer(fp, &links);
2050 fclose(fp);
2051 mutt_list_free(&links);
2052}
void dot_expando_node(FILE *fp, struct ExpandoNode *node, struct ListHead *links)
Definition: graphviz.c:1998
+ 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:125
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:57
+ 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
168 }
169}
@ MENU_KEY_SELECT_PGP
Select a PGP key.
Definition: type.h:48
@ MENU_INDEX
Index panel (list of emails)
Definition: type.h:51
@ MENU_KEY_SELECT_SMIME
Select a SMIME key.
Definition: type.h:49
@ MENU_QUERY
Select from results of external query.
Definition: type.h:55
@ 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:53
@ MENU_GENERIC
Generic selection list.
Definition: type.h:46
@ MENU_PAGER
Pager pager (email viewer)
Definition: type.h:52
@ MENU_SMIME
SMIME encryption menu.
Definition: type.h:56
@ 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:54

◆ name_notify_config()

const char * name_notify_config ( int  id)

Definition at line 182 of file names.c.

183{
184 switch (id)
185 {
190 }
191}
@ 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 171 of file names.c.

172{
173 switch (id)
174 {
179 }
180}
@ NT_GLOBAL_STARTUP
NeoMutt is initialised.
Definition: neomutt.h:61
@ NT_GLOBAL_COMMAND
A NeoMutt command.
Definition: neomutt.h:63
@ NT_GLOBAL_SHUTDOWN
NeoMutt is about to close.
Definition: neomutt.h:62
+ Here is the caller graph for this function:

◆ name_notify_mailbox()

const char * name_notify_mailbox ( int  id)

Definition at line 193 of file names.c.

194{
195 switch (id)
196 {
206 }
207}
@ 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 209 of file names.c.

210{
211 switch (id)
212 {
217 }
218}
@ 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 257 of file names.c.

258{
259 if (!win)
260 return "NULL";
261
262 switch (win->size)
263 {
268 }
269}
@ MUTT_WIN_SIZE_FIXED
Window has a fixed size.
Definition: mutt_window.h:48
@ MUTT_WIN_SIZE_MINIMISE
Window size depends on its children.
Definition: mutt_window.h:50
@ MUTT_WIN_SIZE_MAXIMISE
Window wants as much space as possible.
Definition: mutt_window.h:49
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 220 of file names.c.

221{
222 if (!win)
223 return "NULL";
224
225 switch (win->type)
226 {
254 }
255}
@ WT_CUSTOM
Window with a custom drawing function.
Definition: mutt_window.h:95
@ WT_ROOT
Parent of All Windows.
Definition: mutt_window.h:73
@ WT_DLG_ALIAS
Alias Dialog, dlg_alias()
Definition: mutt_window.h:78
@ WT_ALL_DIALOGS
Container for All Dialogs (nested Windows)
Definition: mutt_window.h:75
@ WT_DLG_BROWSER
Browser Dialog, dlg_browser()
Definition: mutt_window.h:81
@ 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:91
@ WT_DLG_HISTORY
History Dialog, dlg_history()
Definition: mutt_window.h:86
@ WT_DLG_PGP
Pgp Dialog, dlg_pgp()
Definition: mutt_window.h:89
@ WT_CONTAINER
Invisible shaping container Window.
Definition: mutt_window.h:74
@ WT_DLG_CERTIFICATE
Certificate Dialog, dlg_certificate()
Definition: mutt_window.h:82
@ WT_DLG_COMPOSE
Compose Dialog, dlg_compose()
Definition: mutt_window.h:83
@ WT_DLG_INDEX
Index Dialog, dlg_index()
Definition: mutt_window.h:87
@ WT_PAGER
A panel containing the Pager Window.
Definition: mutt_window.h:100
@ WT_DLG_GPGME
GPGME Dialog, dlg_gpgme()
Definition: mutt_window.h:84
@ 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_POSTPONED
Postponed Dialog, dlg_postponed()
Definition: mutt_window.h:90
@ WT_INDEX
A panel containing the Index Window.
Definition: mutt_window.h:97
@ WT_DLG_ATTACHMENT
Attachment Dialog, dlg_attachment()
Definition: mutt_window.h:79
@ 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:85
@ WT_DLG_AUTOCRYPT
Autocrypt Dialog, dlg_autocrypt()
Definition: mutt_window.h:80
@ WT_MENU
An Window containing a Menu.
Definition: mutt_window.h:98
@ WT_DLG_PATTERN
Pattern Dialog, dlg_pattern()
Definition: mutt_window.h:88
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.