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,