Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package vim for openSUSE:Factory checked in at 2026-06-23 17:35:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vim (Old) and /work/SRC/openSUSE:Factory/.vim.new.1956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vim" Tue Jun 23 17:35:16 2026 rev:400 rq:1360695 version:9.2.0530 Changes: -------- --- /work/SRC/openSUSE:Factory/vim/vim.changes 2026-04-28 11:54:49.897658104 +0200 +++ /work/SRC/openSUSE:Factory/.vim.new.1956/vim.changes 2026-06-23 17:35:19.758699449 +0200 @@ -1,0 +2,179 @@ +Sat Jun 20 06:23:46 UTC 2026 - Martin Pluskal <[email protected]> + +- Actually apply vim-9.1.1732-fix-inc-detection.patch (add the missing + Patch16 / %patch entries): the patch was committed and documented but + never wired into the spec, so the fix for bsc#1262395 (scientific + parameter files misdetected as bitbake recipes) was not being built + +------------------------------------------------------------------- +Tue Jun 16 20:01:40 UTC 2026 - Christian Boltz <[email protected]> + +- Update apparmor.vim to latest version (from AppArmor 5.0.1) + - several updates for highlighting file rules + +------------------------------------------------------------------- +Tue May 26 18:59:49 UTC 2026 - Martin Schreiner <[email protected]> + +- Update to v9.2.0530. +- Fix for SG#71948, bsc#1262395: + * vim-9.1.1732-fix-inc-detection.patch: Fix for incorrectly detecting + scientific parameter files as bitbake recipies. +- Upstream fixed the following bugs / CVEs: + * bsc#1264706 CVE-2026-42307 + * bsc#1265360 CVE-2026-46483 + * bsc#1264708 CVE-2026-45130 + * bsc#1264707 CVE-2026-44656 + * bsc#1265349 CVE-2026-43961 +- Changes: + * 9.2.0530: WinBar row vertical separator not refreshed on window change + * 9.2.0529: GTK4: clipboard returns empty after a foreign app takes the selection + * 9.2.0528: possible overflow in XIM resource handling + * 9.2.0527: Possible double free in fill_partial_and_closure() + * 9.2.0526: missing out-of-memory check in ex_substitute() + * 9.2.0525: spell: memory leak in spell_read_dic() + * 9.2.0524: spell: buffer overflow with many affix or compound flags + * 9.2.0523: tests: no test for using shellescape() in combination with :! + * 9.2.0522: event_nr2name() in autocmd.c can be improved + * 9.2.0521: GTK4: cannot resize shell after the window is shown + * 9.2.0520: Reversed text opacity in popup when termguicolor is set + * 9.2.0519: GTK4: GUI tabline is not displayed correctly + * 9.2.0518: GTK4: input method cannot compose text + * 9.2.0517: quickfix: can set quickfixtextfunc in restricted/sandbox mode + * 9.2.0516: socketserver: spurious error when servername is taken + * 9.2.0515: virtualedit=insert doesn't work during change operation + * 9.2.0514: GTK4: build errors when socketserver is enabled + * 9.2.0513: [security]: memory safety issues in spellfile.c + * 9.2.0512: clientserver uses binary protocol + * 9.2.0511: configure: when GTK4 is used also links in X11 libs + * 9.2.0510: setline() mapping may trigger autoindent + * 9.2.0509: term.c: compile error when LOG_TRN is enabled + * 9.2.0508: completion: cannot complete user cmd :K with 'ignorecase' + * 9.2.0507: Vim9 class: public/protected member name clash uses same error + * 9.2.0506: home_replace() function can be improved + * 9.2.0505: GTK4: text looks blurry on HiDPI displays + * 9.2.0504: configure: requires X11 libraries for GTK4 build + * 9.2.0503: Makefile: Missing dependencies for new GTK4 source files + * 9.2.0502: runtime(netrw): bookmark handling can be improved + * 9.2.0501: GTK4: there is no GTK4 UI available + * 9.2.0500: filetype: some html files wrongly recognized as htmlangular + * 9.2.0499: modeline: allow to disable modelines with modelinestrict + * 9.2.0498: potential heap buffer overflow in if_xcmdsrv.c + * 9.2.0497: Cannot jump to remote tags + * 9.2.0496: [security]: Code Injection in cucumber filetype plugin + * 9.2.0495: [security]: runtime(netrw): code injection via NetrwBookHistSave() + * 9.2.0494: User commands cannot handle single args with spaces + * 9.2.0493: popup: missing Popup, PopupBorder and PopupTitle hi groups + * 9.2.0492: popup: decoration wrongly drawn with clipping on border + * 9.2.0491: VMS: various build issues + * 9.2.0490: matchfuzzy() can crash on long multi-word patterns + * 9.2.0489: filetype: some Objective-C files are not recognized + * 9.2.0488: statusline: status line highlight blends into adjacent vsep cells + * 9.2.0487: viminfo: possible signed int overflow in register array + * 9.2.0486: out-of-bound read when recovering swap files + * 9.2.0485: clipboard provider callback can be called recursively + * 9.2.0484: TextPutPre triggers clipboard provider callback twice + * 9.2.0483: popup: terminal embedded in an opacity popup freezes Vim on input + * 9.2.0482: runtime(osc52): triggered twice with TextPutPoste autocmd + * 9.2.0481: runtime(netrw): command injection possible via maps + * 9.2.0480: [security]: runtime(netrw): code injection via mf command + * 9.2.0479: [security]: runtime(tar): command injection in tar plugin + * 9.2.0478: channel: redundant str/length assignments in channel_part_info() + * 9.2.0477: popup: leftover content after popup_free under layout change + * 9.2.0476: pattern completion leaks memory on alloc failures + * 9.2.0475: runtime(netrw): bookmark paths not normalized + * 9.2.0474: MS-Windows: hard to tell which Visual Studio version was selected with MSVC + * 9.2.0473: Pasting ". register without autocommands breaks TextPut* + * 9.2.0472: popup: column jitters when scrolled outside viewport + * 9.2.0471: vimvars di_key initialized at runtime + * 9.2.0470: No way to hook into put commands + * 9.2.0469: popup: textprop-anchored popups bleed past host window edges + * 9.2.0468: popups: not correctly updated from a CmdlineChanged autocommand + * 9.2.0467: multi-line statusline loses highlighting attributes + * 9.2.0466: popup: redraw can use stale blended cells + * 9.2.0465: modeline: foldmarker cannot be set with modelinestrict + * 9.2.0464: runtime(netrw): bookmarking directory uses current dir + * 9.2.0463: Not able to use legacy expression evaluation in a vim9script maps + * 9.2.0462: MS-Windows: workaround for assert error on GUI + * 9.2.0461: Corrupted undofile causes use-after-free + * 9.2.0460: did_set_shellpipe_redir() in wrong file + * 9.2.0459: tests: test_termcodes fails (after v9.2.0456) + * 9.2.0458: Crash with invalid shellredir/shellpipe value + * 9.2.0457: Compile warning about unused variable + * 9.2.0456: stray p character displayed on some terms + * 9.2.0455: 'findfunc' only allows extra info for cmdline completion + * 9.2.0454: tests: no test that "abbr" in customlist completion is shown + * 9.2.0453: vertical separator of statusline blend into active statusline + * 9.2.0452: screen.c popup opacity blend logic is duplicated + * 9.2.0451: 'findfunc' can't return extra info for cmdline completion + * 9.2.0450: [security]: heap buffer overflow in spellfile.c read_compound() + * 9.2.0449: Make proto fails in non GTK builds + * 9.2.0448: Vim9: dangling cmdline pointer after skip_expr_cctx() + +------------------------------------------------------------------- +Wed May 6 19:41:13 UTC 2026 - Ondřej Súkup <[email protected]> + +- update to 9.2.0447 + patch 9.2.0447: cindent does not ignore comments + patch 9.2.0446: runtime(netrw): off-by-one bug in s:NetrwUnMarkFile() + patch 9.2.0445: win_fix_scroll() called before win_comp_pos() in command_height() + patch 9.2.0444: Cannot set 'path' option via modeline + patch 9.2.0443: GUI: cancelling save dialog overwrites or discards unnamed buffer + patch 9.2.0442: completion: i_CTRL-X_CTRL-V doesn't use dict from customlist + runtime(autopkgtest): update syntax script + Fix wrong comment in getchar.c + patch 9.2.0441: statusline: click handler not called on multi-line statusline + patch 9.2.0440: MS-Windows: cursor flicker during update_screen() + patch 9.2.0439: completion: info popup not removed in cmdline mode + patch 9.2.0438: tests: test_plugin_termdebug is flaky + runtime(doc): Tweak documentation style + Fix a few more typos + patch 9.2.0437: MS-Windows: cursor flicker in vtp mode + patch 9.2.0436: Buffer overflow when parsing overlong errorformat lines + patch 9.2.0435: [security]: backticks in 'path' may cause shell execution on completion + patch 9.2.0434: cscope: filename interpreted by /bin/sh + patch 9.2.0433: customlist completion cannot supply pum metadata + patch 9.2.0432: blob to string conversion can be improved + patch 9.2.0431: blob encoding can be improved + patch 9.2.0430: tests: Test_shortmess_F3() is flaky on MS-Windows + patch 9.2.0429: tests: flaky screendump Test_smoothscroll_incsearch() + runtime(algol68): Update syntax file, match symbolic identity relators + patch 9.2.0428: popup: no opacity support for completepopup/previewpopup + patch 9.2.0427: popup: opacity blend may leaks white bg color + patch 9.2.0426: tests: still some flaky screendump tests + patch 9.2.0425: Cannot silence undo/redo messages + patch 9.2.0424: popup: flicker when wildtrigger() refreshes the popup menu + patch 9.2.0423: popup: wrapped cmdline truncated with wildoptions=pum + patch 9.2.0422: popup: leave stray char when scrollbar changes + translation(sr): Update of Serbian translation + runtime(cabal): add missing haskell language editions + runtime(doc): clarify separator cell on status line rows + runtime(doc): Update help tags file + runtime(doc): clarify that viminfo file should be trusted + patch 9.2.0421: vimball: can smuggle Vimscript into VimballRecord file + patch 9.2.0420: channel: cannot handle binary data via channel callbacks + patch 9.2.0419: popup: rendering issues + patch 9.2.0418: wildcards in expanded env vars reinterpreted by glob + patch 9.2.0417: completion: no support for "noinsert" with 'wildmode' + patch 9.2.0416: Unix: filename completion splits at space for single-file Ex commands + patch 9.2.0415: Wrong behavior when executing register that ends in Insert mode + patch 9.2.0414: Flicker when drawing window separator and pum is shown + runtime(qml): Add optional chaining to QML syntax + patch 9.2.0413: Scrolling wrong with 'splitkeep' when changing 'cmdheight' + patch 9.2.0412: channel: term_start() out_cb/err_cb no longer deliver raw chunks + patch 9.2.0411: tabpanel: no Vim script functions for the tabpanel + patch 9.2.0410: test suite races when run with parallel make + runtime(doc): Update docs related to tabpanel + patch 9.2.0409: memory leaks in copy_substring_from_pos() + patch 9.2.0408: Insert-mode <Cmd> edits can corrupt undo + patch 9.2.0407: tabpanel: A few issues with the tabpanel + patch 9.2.0406: VisualNOS not used when Wayland selection ownership lost + patch 9.2.0405: when jumping to tags, will open URLs + patch 9.2.0404: redraw_listener_add() does not check secure flag + patch 9.2.0403: Vim9: def function sandbox bypass + patch 9.2.0402: pum: opacity not applied to wildmenu pum + patch 9.2.0401: tests: still a few flaky tests + patch 9.2.0400: sandbox callbacks selected through 'complete' + patch 9.2.0399: MS-Windows: compile warning in strptime.c + runtime(doc): fix :z command description again + +------------------------------------------------------------------- Old: ---- vim-9.2.0398.tar.gz New: ---- vim-9.1.1732-fix-inc-detection.patch vim-9.2.0530.tar.gz ----------(New B)---------- New: - Actually apply vim-9.1.1732-fix-inc-detection.patch (add the missing Patch16 / %patch entries): the patch was committed and documented but ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vim.spec ++++++ --- /var/tmp/diff_new_pack.VuebuN/_old 2026-06-23 17:35:21.458758687 +0200 +++ /var/tmp/diff_new_pack.VuebuN/_new 2026-06-23 17:35:21.462758827 +0200 @@ -17,7 +17,7 @@ %define pkg_version 9.2 -%define patchlevel 0398 +%define patchlevel 0530 %define patchlevel_compact %{patchlevel} %define VIM_SUBDIR vim92 %define site_runtimepath %{_datadir}/vim/site @@ -74,6 +74,7 @@ Patch13: %{name}-8.0.1568-defaults.patch Patch14: %{name}-8.2.2411-globalvimrc.patch Patch15: %{name}-9.1.1134-revert-putty-terminal-colors.patch +Patch16: %{name}-9.1.1732-fix-inc-detection.patch BuildRequires: autoconf >= 2.71 BuildRequires: db-devel BuildRequires: fdupes @@ -83,7 +84,6 @@ BuildRequires: perl BuildRequires: pkgconfig BuildRequires: ruby-devel -BuildRequires: update-desktop-files BuildRequires: wayland-utils BuildRequires: pkgconfig(form) BuildRequires: pkgconfig(formw) @@ -227,6 +227,7 @@ %patch -P 13 -p1 %patch -P 14 -p1 %patch -P 15 -p1 +%patch -P 16 -p1 cp %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE8} %{SOURCE10} . %build @@ -410,7 +411,6 @@ # desktop file for gvim install -D -m 0644 %{SOURCE19} %{buildroot}%{_datadir}/applications/gvim.desktop -%suse_update_desktop_file gvim Utility TextEditor # # documentation ++++++ apparmor.vim ++++++ --- /var/tmp/diff_new_pack.VuebuN/_old 2026-06-23 17:35:21.522760917 +0200 +++ /var/tmp/diff_new_pack.VuebuN/_new 2026-06-23 17:35:21.526761057 +0200 @@ -25,8 +25,8 @@ " stick this file into ~/.vim/syntax/ and add these commands into your .vimrc " to have vim automagically use this syntax file for these directories: " -" autocmd BufNewFile,BufRead /etc/apparmor.d/* set syntax=apparmor -" autocmd BufNewFile,BufRead /usr/share/apparmor/extra-profiles/* set syntax=apparmor +" autocmd BufNewFile,BufRead /etc/apparmor.d/* set filetype=apparmor +" autocmd BufNewFile,BufRead /usr/share/apparmor/extra-profiles/* set filetype=apparmor " profiles are case sensitive syntax case match @@ -215,81 +215,153 @@ " file rules added with create_file_rule() " write + exec/mmap - danger! (known bug: accepts aw to keep things simple) -syn match sdEntryWriteExec /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(l|r|w|a|m|k|[iuUpPcC]x)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryWriteExec /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(l|r|w|a|m|k|[iuUpPcC]x)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryWriteExec /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(l|r|w|a|m|k|[iuUpPcC]x)+(\s+-\>\s+\S+)?\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryWriteExec /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(l|r|w|a|m|k|[iuUpPcC]x)+(\s+-\>\s+\S+)?\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryWriteExec /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[lrwamk]*[iuUpPcC][iUu]?x[lrwamk]*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryWriteExec /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[lrwamk]*[iuUpPcC][iUu]?x[lrwamk]*\s+(\/|\@\{\S*\})\S*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryWriteExec /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[lrwamk]*[iuUpPcC][iUu]?x[lrwamk]*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryWriteExec /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[lrwamk]*[iuUpPcC][iUu]?x[lrwamk]*\s+"(\/|\@\{\S*\})\S*"(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryWriteExec /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[lrwamk]*[iuUpPcC][iUu]?x[lrwamk]*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryWriteExec /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[lrwamk]*[iuUpPcC][iUu]?x[lrwamk]*\s+(\/|\@\{\S*\})\S*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryWriteExec /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[lrwamk]*[iuUpPcC][iUu]?x[lrwamk]*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryWriteExec /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[lrwamk]*[iuUpPcC][iUu]?x[lrwamk]*\s+"(\/|\@\{\S*\})\S*"(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -" ux(mr) - unconstrained entry, flag the line red. also includes pux which is unconstrained if no profile exists +" ux(mr) - unconfined entry, flag the line red. also includes pux which is unconfined if no profile exists syn match sdEntryUX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|ux|pux)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryUX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|ux|pux)+\s+(\/|\@\{\S*\})\S*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude syn match sdEntryUX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|ux|pux)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryUX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|ux|pux)+(\s+-\>\s+\S+)?\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryUX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|ux|pux)+(\s+-\>\s+\S+)?\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryUX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|ux|pux)+\s+"(\/|\@\{\S*\})\S*"(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryUX /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|ux|pux)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryUX /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|ux|pux)+\s+(\/|\@\{\S*\})\S*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryUX /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|ux|pux)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryUX /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|ux|pux)+\s+"(\/|\@\{\S*\})\S*"(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude " Ux(mr) and PUx(mr) - like ux + clean environment syn match sdEntryUXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|Ux|PUx)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryUXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Ux|PUx)+\s+(\/|\@\{\S*\})\S*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude syn match sdEntryUXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|Ux|PUx)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryUXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Ux|PUx)+(\s+-\>\s+\S+)?\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryUXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Ux|PUx)+(\s+-\>\s+\S+)?\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryUXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Ux|PUx)+\s+"(\/|\@\{\S*\})\S*"(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryUXe /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|Ux|PUx)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryUXe /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Ux|PUx)+\s+(\/|\@\{\S*\})\S*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryUXe /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|Ux|PUx)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryUXe /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Ux|PUx)+\s+"(\/|\@\{\S*\})\S*"(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude " px/cx/pix/cix(mrk) - standard exec entry, flag the line blue syn match sdEntryPX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|px|cx|pix|cix)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryPX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|px|cx|pix|cix)+\s+(\/|\@\{\S*\})\S*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude syn match sdEntryPX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|px|cx|pix|cix)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryPX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|px|cx|pix|cix)+(\s+-\>\s+\S+)?\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryPX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|px|cx|pix|cix)+(\s+-\>\s+\S+)?\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryPX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|px|cx|pix|cix)+\s+"(\/|\@\{\S*\})\S*"(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryPX /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|px|cx|pix|cix)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryPX /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|px|cx|pix|cix)+\s+(\/|\@\{\S*\})\S*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryPX /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|px|cx|pix|cix)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryPX /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|px|cx|pix|cix)+\s+"(\/|\@\{\S*\})\S*"(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude " Px/Cx/Pix/Cix(mrk) - like px/cx + clean environment syn match sdEntryPXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|Px|Cx|Pix|Cix)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryPXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Px|Cx|Pix|Cix)+\s+(\/|\@\{\S*\})\S*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude syn match sdEntryPXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|Px|Cx|Pix|Cix)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryPXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Px|Cx|Pix|Cix)+(\s+-\>\s+\S+)?\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryPXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Px|Cx|Pix|Cix)+(\s+-\>\s+\S+)?\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryPXe /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Px|Cx|Pix|Cix)+\s+"(\/|\@\{\S*\})\S*"(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryPXe /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|Px|Cx|Pix|Cix)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryPXe /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Px|Cx|Pix|Cix)+\s+(\/|\@\{\S*\})\S*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryPXe /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|Px|Cx|Pix|Cix)+(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryPXe /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|Px|Cx|Pix|Cix)+\s+"(\/|\@\{\S*\})\S*"(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude " ix(mr) - standard exec entry, flag the line green syn match sdEntryIX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|ix)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryIX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|ix)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude syn match sdEntryIX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|ix)+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryIX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|ix)+\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryIX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|ix)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryIX /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|ix)+\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryIX /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|ix)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryIX /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|ix)+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryIX /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|ix)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryIX /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k|ix)+\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude " mr - mmap with PROT_EXEC syn match sdEntryM /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryM /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude syn match sdEntryM /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k)+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryM /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k)+\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryM /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryM /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k)+\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryM /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryM /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k)+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryM /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryM /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(r|m|k)+\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude " special case: deny x is allowed (does not need to be ix, px, ux or cx) syn match sdEntryM /\v^\s*(audit\s+)?deny\s+(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|x)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryM /\v^\s*(audit\s+)?deny\s+(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|x)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude syn match sdEntryM /\v^\s*(audit\s+)?deny\s+(owner\s+|other\s+)?(r|m|k|x)+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryM /\v^\s*(audit\s+)?deny\s+(owner\s+|other\s+)?(r|m|k|x)+\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryM /\v^\s*(audit\s+)?deny\s+(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|x)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryM /\v^\s*(audit\s+)?deny\s+(owner\s+|other\s+)?(r|m|k|x)+\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryM /\v^\s*file\s+(audit\s+)?deny\s+(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(r|m|k|x)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryM /\v^\s*file\s+(audit\s+)?deny\s+(owner\s+|other\s+)?(r|m|k|x)+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryM /\v^\s*file\s+(audit\s+)?deny\s+(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(r|m|k|x)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryM /\v^\s*file\s+(audit\s+)?deny\s+(owner\s+|other\s+)?(r|m|k|x)+\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude " write + append is an error syn match sdError /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+\S*(w\S*a|a\S*w)\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdError /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+\S*(w\S*a|a\S*w)\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude syn match sdError /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?\S*(w\S*a|a\S*w)\S*\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdError /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?\S*(w\S*a|a\S*w)\S*\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdError /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+\S*(w\S*a|a\S*w)\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdError /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?\S*(w\S*a|a\S*w)\S*\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdError /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+\S*(w\S*a|a\S*w)\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdError /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?\S*(w\S*a|a\S*w)\S*\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdError /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+\S*(w\S*a|a\S*w)\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdError /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?\S*(w\S*a|a\S*w)\S*\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude + +" link (and optionally write) entry, flag the line yellow +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[rak]*l[rak]*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rak]*l[rak]*\s+(\/|\@\{\S*\})\S*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[rak]*l[rak]*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rak]*l[rak]*\s+"(\/|\@\{\S*\})\S*"(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[rak]*l[rak]*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rak]*l[rak]*\s+(\/|\@\{\S*\})\S*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[rak]*l[rak]*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rak]*l[rak]*\s+"(\/|\@\{\S*\})\S*"(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude + +" write entry, flag the line yellow +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[rak]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rak]+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[rak]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rak]+\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[rak]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rak]+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[rak]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rak]+\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude + +" link (and optionally write) entry, flag the line yellow +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[rwk]*l[rwk]*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rwk]*l[rwk]*\s+(\/|\@\{\S*\})\S*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[rwk]*l[rwk]*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rwk]*l[rwk]*\s+"(\/|\@\{\S*\})\S*"(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[rwk]*l[rwk]*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rwk]*l[rwk]*\s+(\/|\@\{\S*\})\S*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[rwk]*l[rwk]*(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rwk]*l[rwk]*\s+"(\/|\@\{\S*\})\S*"(\s+-\>\s+\S+)?\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude " write entry, flag the line yellow -syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(l|r|w|k)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(l|r|w|k)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(l|r|w|k)+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(l|r|w|k)+\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude - -" append entry, flag the line yellow -syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+(l|r|a|k)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+(l|r|a|k)+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(l|r|a|k)+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(l|r|a|k)+\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[rwk]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rwk]+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[rwk]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rwk]+\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[rwk]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rwk]+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[rwk]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryW /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rwk]+\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude " read entry + locking, currently no highlighting -syn match sdEntryK /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[rlk]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryK /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[rlk]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryK /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rlk]+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryK /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rlk]+\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryK /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[rk]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryK /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rk]+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryK /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[rk]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryK /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rk]+\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryK /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[rk]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryK /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rk]+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryK /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[rk]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryK /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rk]+\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude " read entry, no highlighting -syn match sdEntryR /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+[rl]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryR /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+[rl]+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryR /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rl]+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude -syn match sdEntryR /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?[rl]+\s+"(\/|\@\{\S*\})\S*"+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryR /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+r+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryR /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?r+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryR /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+r+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryR /\v^\s*(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?r+\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryR /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?(\/|\@\{\S*\})\S*\s+r+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryR /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?r+\s+(\/|\@\{\S*\})\S*\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryR /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?"(\/|\@\{\S*\})\S*"\s+r+\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude +syn match sdEntryR /\v^\s*file\s+(audit\s+)?(deny\s+|allow\s+)?(owner\s+|other\s+)?r+\s+"(\/|\@\{\S*\})\S*"\s*,(\s*$|(\s*#.*$)\@=)/ contains=sdGlob,sdComment nextgroup=@sdEntry,sdComment,sdError,sdInclude ++++++ vim-9.1.1732-fix-inc-detection.patch ++++++ Index: vim-9.2.0530/runtime/autoload/dist/ft.vim =================================================================== --- vim-9.2.0530.orig/runtime/autoload/dist/ft.vim +++ vim-9.2.0530/runtime/autoload/dist/ft.vim @@ -920,7 +920,8 @@ export def FTinc() elseif line =~ '^\s*\%({\|(\*\)' || line =~? ft_pascal_keywords setf pascal return - elseif line =~# '\<\%(require\|inherit\)\>' || line =~# '[A-Z][A-Za-z0-9_:${}/]*\(\[[A-Za-z0-9_:/]\+\]\)*\s\+\%(??\|[?:+.]\)\?=.\? ' + elseif line =~# '^\s*\%(require\|inherit\)\>' + || line =~# "^\s*[A-Z][A-Za-z0-9_:${}/-]*\(\[[A-Za-z0-9_:/]\+\]\)*\s*\\%(??=\\|:=\\|+=\\|?=\\|\\.=\\|=\\.\\|=\\)\\s*\\%(['\"]\\|\\${\\)" setf bitbake return endif ++++++ vim-9.2.0398.tar.gz -> vim-9.2.0530.tar.gz ++++++ /work/SRC/openSUSE:Factory/vim/vim-9.2.0398.tar.gz /work/SRC/openSUSE:Factory/.vim.new.1956/vim-9.2.0530.tar.gz differ: char 14, line 1
