[neomutt-devel] Reducing the number of #ifdef's

Richard Russon rich at flatcap.org
Tue Feb 14 15:11:23 CET 2017


a.k.a. What flatcap does whilst watching TV

On IRC we were discussion how entwined some of the features are.

I took all the code and grep'd all the #ifdef's in each function.
They're listed by funcion and by define.

The list give an overview of which functions and which features might
need refactoring.

add_folder()                     USE_IMAP USE_NNTP
attach_reply_envelope_defaults() USE_NNTP
browser_sort()                   USE_NNTP
buffy_check()                    USE_NNTP USE_NOTMUCH USE_POP USE_SIDEBAR
ci_send_message()                USE_IMAP USE_NNTP USE_NOTMUCH
ci_start_color()                 USE_SIDEBAR
cmd_parse_status()               USE_SIDEBAR
compare_order()                  USE_NNTP
destroy_state()                  USE_IMAP
draw_envelope()                  USE_NNTP
draw_sidebar()                   USE_NOTMUCH
dump_envelope()                  USE_NNTP
edit_envelope()                  USE_NNTP
envelope_defaults()              USE_NNTP
examine_mailboxes()              USE_IMAP USE_NNTP USE_POP
folder_entry()                   USE_NNTP
folder_format_str()              USE_IMAP USE_NOTMUCH
get_color()                      USE_NOTMUCH
get_incoming()                   USE_NOTMUCH
hdr_format_str()                 USE_NNTP USE_NOTMUCH
imap_expunge_mailbox()           USE_HCACHE
imap_mboxcache_get()             USE_HCACHE
imap_read_headers()              USE_HCACHE
imap_sync_mailbox()              USE_HCACHE
init_menu()                      USE_IMAP USE_NNTP
init_state()                     USE_IMAP
km_dokey()                       USE_IMAP
_maildir_commit_message()        USE_NOTMUCH
maildir_delayed_parsing()        USE_HCACHE
main_change_folder()             USE_NNTP
main()                           USE_IMAP USE_NNTP USE_SIDEBAR
menu_redraw()                    USE_SIDEBAR
mh_sync_mailbox()                USE_HCACHE
msg_cache_check()                USE_HCACHE
mutt_account_getlogin()          USE_IMAP
mutt_account_getpass()           USE_IMAP USE_NNTP USE_POP USE_SMTP
mutt_account_getuser()           USE_IMAP USE_NNTP USE_POP
mutt_account_match()             USE_IMAP USE_NNTP USE_POP
mutt_account_tourl()             USE_IMAP USE_NNTP USE_POP USE_SMTP
mutt_add_to_reference_headers()  USE_NNTP
_mutt_append_message()           USE_NOTMUCH
mutt_attach_reply()              USE_NNTP
mutt_bounce_message()            USE_NNTP
_mutt_bounce_message()           USE_SMTP
mutt_buffy_check()               USE_IMAP USE_NNTP USE_NOTMUCH
mutt_complete()                  USE_IMAP USE_NNTP
mutt_copy_header()               USE_NOTMUCH
mutt_display_message()           USE_NOTMUCH
mutt_edit_headers()              USE_NNTP
_mutt_enter_fname()              USE_NOTMUCH
_mutt_enter_string()             USE_NOTMUCH
_mutt_expand_path()              USE_IMAP USE_NOTMUCH
mutt_free_envelope()             USE_NNTP
mutt_free_windows()              USE_SIDEBAR
mutt_index_menu()                USE_IMAP USE_NNTP USE_NOTMUCH USE_POP USE_SIDEBAR
mutt_init()                      USE_NNTP USE_NOTMUCH
mutt_init_windows()              USE_SIDEBAR
mutt_invoke_sendmail()           USE_NNTP
mutt_num_postponed()             USE_IMAP USE_NNTP
mutt_pager()                     USE_NNTP USE_SIDEBAR
_mutt_parse_color()              USE_NOTMUCH
mutt_parse_hook()                USE_COMPRESSED
mutt_parse_mailboxes()           USE_SIDEBAR
mutt_parse_rfc822_line()         USE_NNTP
_mutt_parse_uncolor()            USE_NOTMUCH
mutt_parse_unvirtual_mailboxes() USE_SIDEBAR
mutt_parse_virtual_mailboxes()   USE_SIDEBAR
mutt_pattern_exec()              USE_IMAP USE_NNTP USE_NOTMUCH
mutt_pattern_func()              USE_IMAP
mutt_prepare_envelope()          USE_NNTP
mutt_pretty_mailbox()            USE_IMAP USE_NOTMUCH
mutt_reflow_windows()            USE_SIDEBAR
mutt_restore_default()           USE_SIDEBAR
mutt_sasl_client_new()           USE_NNTP
mutt_save_confirm()              USE_NNTP USE_POP
mutt_save_message()              USE_COMPRESSED USE_IMAP USE_NOTMUCH
mutt_sb_toggle_virtual()         USE_NOTMUCH
mutt_search_command()            USE_IMAP
_mutt_select_file()              USE_IMAP USE_NNTP USE_NOTMUCH
_mutt_set_flag()                 USE_IMAP USE_SIDEBAR
mutt_set_followup_to()           USE_NNTP
mutt_view_attachments()          USE_NNTP USE_POP
mutt_write_rfc822_header()       USE_NNTP
mx_close_mailbox()               USE_IMAP USE_NNTP USE_SIDEBAR
mx_fastclose_mailbox()           USE_COMPRESSED
mx_get_magic()                   USE_COMPRESSED USE_IMAP USE_NNTP USE_NOTMUCH USE_POP
mx_get_ops()                     USE_COMPRESSED USE_IMAP USE_NNTP USE_NOTMUCH USE_POP
mx_open_mailbox_append()         USE_COMPRESSED
mx_sync_mailbox()                USE_IMAP
nm_sync_mailbox()                USE_HCACHE
nntp_check_children()            USE_HCACHE
nntp_check_mailbox()             USE_HCACHE
nntp_clear_cache()               USE_HCACHE
nntp_delete_group_cache()        USE_HCACHE
nntp_fetch_headers()             USE_HCACHE
nntp_open_mailbox()              USE_HCACHE
nntp_select_server()             USE_HCACHE
nntp_sync_mailbox()              USE_HCACHE
parse_overview_line()            USE_HCACHE
parse_set()                      USE_HCACHE USE_IMAP USE_SIDEBAR
pop_fetch_headers()              USE_HCACHE
pop_open_mailbox()               USE_HCACHE
pop_sync_mailbox()               USE_HCACHE
print_version()                  USE_HCACHE
process_user_header()            USE_NNTP
process_user_recips()            USE_NNTP
restore_envelope()               USE_NNTP
select_file_search()             USE_NNTP
send_message()                   USE_NNTP USE_SMTP
status_format_str()              USE_COMPRESSED USE_NOTMUCH
trash_append()                   USE_IMAP


USE_COMPRESSED 7
	mutt_parse_hook()
	mutt_save_message()
	mx_fastclose_mailbox()
	mx_get_magic()
	mx_get_ops()
	mx_open_mailbox_append()
	status_format_str()

USE_HCACHE 22
	imap_expunge_mailbox()
	imap_mboxcache_get()
	imap_read_headers()
	imap_sync_mailbox()
	maildir_delayed_parsing()
	mh_sync_mailbox()
	msg_cache_check()
	nm_sync_mailbox()
	nntp_check_children()
	nntp_check_mailbox()
	nntp_clear_cache()
	nntp_delete_group_cache()
	nntp_fetch_headers()
	nntp_open_mailbox()
	nntp_select_server()
	nntp_sync_mailbox()
	parse_overview_line()
	parse_set()
	pop_fetch_headers()
	pop_open_mailbox()
	pop_sync_mailbox()
	print_version()

USE_IMAP 32
	add_folder()
	ci_send_message()
	destroy_state()
	examine_mailboxes()
	folder_format_str()
	init_menu()
	init_state()
	km_dokey()
	main()
	mutt_account_getlogin()
	mutt_account_getpass()
	mutt_account_getuser()
	mutt_account_match()
	mutt_account_tourl()
	mutt_buffy_check()
	mutt_complete()
	mutt_index_menu()
	mutt_num_postponed()
	mutt_pattern_exec()
	mutt_pattern_func()
	mutt_pretty_mailbox()
	mutt_save_message()
	mutt_search_command()
	mx_close_mailbox()
	mx_get_magic()
	mx_get_ops()
	mx_sync_mailbox()
	parse_set()
	trash_append()
	_mutt_expand_path()
	_mutt_select_file()
	_mutt_set_flag()

USE_NNTP 49
	add_folder()
	attach_reply_envelope_defaults()
	browser_sort()
	buffy_check()
	ci_send_message()
	compare_order()
	draw_envelope()
	dump_envelope()
	edit_envelope()
	envelope_defaults()
	examine_mailboxes()
	folder_entry()
	hdr_format_str()
	init_menu()
	main()
	main_change_folder()
	mutt_account_getpass()
	mutt_account_getuser()
	mutt_account_match()
	mutt_account_tourl()
	mutt_add_to_reference_headers()
	mutt_attach_reply()
	mutt_bounce_message()
	mutt_buffy_check()
	mutt_complete()
	mutt_edit_headers()
	mutt_free_envelope()
	mutt_index_menu()
	mutt_init()
	mutt_invoke_sendmail()
	mutt_num_postponed()
	mutt_pager()
	mutt_parse_rfc822_line()
	mutt_pattern_exec()
	mutt_prepare_envelope()
	mutt_sasl_client_new()
	mutt_save_confirm()
	mutt_set_followup_to()
	mutt_view_attachments()
	mutt_write_rfc822_header()
	mx_close_mailbox()
	mx_get_magic()
	mx_get_ops()
	process_user_header()
	process_user_recips()
	restore_envelope()
	select_file_search()
	send_message()
	_mutt_select_file()

USE_NOTMUCH 27
	buffy_check()
	ci_send_message()
	draw_sidebar()
	folder_format_str()
	get_color()
	get_incoming()
	hdr_format_str()
	mutt_buffy_check()
	mutt_copy_header()
	mutt_display_message()
	mutt_index_menu()
	mutt_init()
	mutt_pattern_exec()
	mutt_pretty_mailbox()
	mutt_save_message()
	mutt_sb_toggle_virtual()
	mx_get_magic()
	mx_get_ops()
	status_format_str()
	_maildir_commit_message()
	_mutt_append_message()
	_mutt_enter_fname()
	_mutt_enter_string()
	_mutt_expand_path()
	_mutt_parse_color()
	_mutt_parse_uncolor()
	_mutt_select_file()

USE_POP 11
	buffy_check()
	examine_mailboxes()
	mutt_account_getpass()
	mutt_account_getuser()
	mutt_account_match()
	mutt_account_tourl()
	mutt_index_menu()
	mutt_save_confirm()
	mutt_view_attachments()
	mx_get_magic()
	mx_get_ops()

USE_SIDEBAR 17
	buffy_check()
	ci_start_color()
	cmd_parse_status()
	main()
	menu_redraw()
	mutt_free_windows()
	mutt_index_menu()
	mutt_init_windows()
	mutt_pager()
	mutt_parse_mailboxes()
	mutt_parse_unvirtual_mailboxes()
	mutt_parse_virtual_mailboxes()
	mutt_reflow_windows()
	mutt_restore_default()
	mx_close_mailbox()
	parse_set()
	_mutt_set_flag()

USE_SMTP 4
	mutt_account_getpass()
	mutt_account_tourl()
	send_message()
	_mutt_bounce_message()



More information about the neomutt-devel mailing list