Mercurial > vim
comparison src/quickfix.c @ 28315:62cc3b60493b v8.2.4683
patch 8.2.4683: verbose check with dict_find() to see if a key is present
Commit: https://github.com/vim/vim/commit/4829c1c9e9095a3303caec9af7d02f6547f6df0e
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Mon Apr 4 15:16:54 2022 +0100
patch 8.2.4683: verbose check with dict_find() to see if a key is present
Problem: Verbose check with dict_find() to see if a key is present.
Solution: Add dict_has_key(). (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/10074)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 04 Apr 2022 16:30:04 +0200 |
parents | f70015784777 |
children | e015d650ea9f |
comparison
equal
deleted
inserted
replaced
28314:7bc5b23adf8f | 28315:62cc3b60493b |
---|---|
6857 static int | 6857 static int |
6858 qf_getprop_keys2flags(dict_T *what, int loclist) | 6858 qf_getprop_keys2flags(dict_T *what, int loclist) |
6859 { | 6859 { |
6860 int flags = QF_GETLIST_NONE; | 6860 int flags = QF_GETLIST_NONE; |
6861 | 6861 |
6862 if (dict_find(what, (char_u *)"all", -1) != NULL) | 6862 if (dict_has_key(what, "all")) |
6863 { | 6863 { |
6864 flags |= QF_GETLIST_ALL; | 6864 flags |= QF_GETLIST_ALL; |
6865 if (!loclist) | 6865 if (!loclist) |
6866 // File window ID is applicable only to location list windows | 6866 // File window ID is applicable only to location list windows |
6867 flags &= ~ QF_GETLIST_FILEWINID; | 6867 flags &= ~ QF_GETLIST_FILEWINID; |
6868 } | 6868 } |
6869 | 6869 |
6870 if (dict_find(what, (char_u *)"title", -1) != NULL) | 6870 if (dict_has_key(what, "title")) |
6871 flags |= QF_GETLIST_TITLE; | 6871 flags |= QF_GETLIST_TITLE; |
6872 | 6872 |
6873 if (dict_find(what, (char_u *)"nr", -1) != NULL) | 6873 if (dict_has_key(what, "nr")) |
6874 flags |= QF_GETLIST_NR; | 6874 flags |= QF_GETLIST_NR; |
6875 | 6875 |
6876 if (dict_find(what, (char_u *)"winid", -1) != NULL) | 6876 if (dict_has_key(what, "winid")) |
6877 flags |= QF_GETLIST_WINID; | 6877 flags |= QF_GETLIST_WINID; |
6878 | 6878 |
6879 if (dict_find(what, (char_u *)"context", -1) != NULL) | 6879 if (dict_has_key(what, "context")) |
6880 flags |= QF_GETLIST_CONTEXT; | 6880 flags |= QF_GETLIST_CONTEXT; |
6881 | 6881 |
6882 if (dict_find(what, (char_u *)"id", -1) != NULL) | 6882 if (dict_has_key(what, "id")) |
6883 flags |= QF_GETLIST_ID; | 6883 flags |= QF_GETLIST_ID; |
6884 | 6884 |
6885 if (dict_find(what, (char_u *)"items", -1) != NULL) | 6885 if (dict_has_key(what, "items")) |
6886 flags |= QF_GETLIST_ITEMS; | 6886 flags |= QF_GETLIST_ITEMS; |
6887 | 6887 |
6888 if (dict_find(what, (char_u *)"idx", -1) != NULL) | 6888 if (dict_has_key(what, "idx")) |
6889 flags |= QF_GETLIST_IDX; | 6889 flags |= QF_GETLIST_IDX; |
6890 | 6890 |
6891 if (dict_find(what, (char_u *)"size", -1) != NULL) | 6891 if (dict_has_key(what, "size")) |
6892 flags |= QF_GETLIST_SIZE; | 6892 flags |= QF_GETLIST_SIZE; |
6893 | 6893 |
6894 if (dict_find(what, (char_u *)"changedtick", -1) != NULL) | 6894 if (dict_has_key(what, "changedtick")) |
6895 flags |= QF_GETLIST_TICK; | 6895 flags |= QF_GETLIST_TICK; |
6896 | 6896 |
6897 if (loclist && dict_find(what, (char_u *)"filewinid", -1) != NULL) | 6897 if (loclist && dict_has_key(what, "filewinid")) |
6898 flags |= QF_GETLIST_FILEWINID; | 6898 flags |= QF_GETLIST_FILEWINID; |
6899 | 6899 |
6900 if (dict_find(what, (char_u *)"qfbufnr", -1) != NULL) | 6900 if (dict_has_key(what, "qfbufnr")) |
6901 flags |= QF_GETLIST_QFBUFNR; | 6901 flags |= QF_GETLIST_QFBUFNR; |
6902 | 6902 |
6903 if (dict_find(what, (char_u *)"quickfixtextfunc", -1) != NULL) | 6903 if (dict_has_key(what, "quickfixtextfunc")) |
6904 flags |= QF_GETLIST_QFTF; | 6904 flags |= QF_GETLIST_QFTF; |
6905 | 6905 |
6906 return flags; | 6906 return flags; |
6907 } | 6907 } |
6908 | 6908 |
7239 valid = FALSE; | 7239 valid = FALSE; |
7240 bufnum = 0; | 7240 bufnum = 0; |
7241 } | 7241 } |
7242 | 7242 |
7243 // If the 'valid' field is present it overrules the detected value. | 7243 // If the 'valid' field is present it overrules the detected value. |
7244 if ((dict_find(d, (char_u *)"valid", -1)) != NULL) | 7244 if (dict_has_key(d, "valid")) |
7245 valid = (int)dict_get_bool(d, (char_u *)"valid", FALSE); | 7245 valid = (int)dict_get_bool(d, (char_u *)"valid", FALSE); |
7246 | 7246 |
7247 status = qf_add_entry(qfl, | 7247 status = qf_add_entry(qfl, |
7248 NULL, // dir | 7248 NULL, // dir |
7249 filename, | 7249 filename, |