Mercurial > vim
view runtime/syntax/wget2.vim @ 34536:ad6cd802579d v9.1.0170
patch 9.1.0170: Re-allow curwin == prevwin, but document it instead
Commit: https://github.com/vim/vim/commit/d64801e913314d2e19dbb38f60e6d285238debff
Author: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Date: Tue Mar 12 20:46:12 2024 +0100
patch 9.1.0170: Re-allow curwin == prevwin, but document it instead
Problem: more places exist where curwin == prevwin, and it may even be
expected in some cases.
Solution: revert v9.1.0001, but document that it's possible instead.
(Sean Dewar)
I've had a change of heart for the following reasons:
- A quick 'n dirty [GitHub code
search](https://github.com/search?q=%2F%28winnr%5C%28%5C%29%5Cs*%3D%3D%5Cs*winnr%5C%28%5B%27%22%5D%23%5B%27%22%5D%5C%29%7Cwinnr%5C%28%5B%27%22%5D%23%5B%27%22%5D%5C%29%5Cs*%3D%3D%5Cs*winnr%5C%28%5C%29%29%2F&type=code)
reveals some cases where it's expected in the wild.
Particularly, it made me aware `winnr() == winnr('#')` is possible when curwin
is changed temporarily during the evaluation of a &statusline expression item
(`%{...}`), and is used to show something different on the statusline
belonging to the previous window; that behaviour wasn't changed in v9.1.0001,
but it means curwin == prevwin makes sense in some cases.
- The definition and call sites of back_to_prevwin imply some expectation that
prevwin == wp (== curwin) is possible, as it's used to skip entering the
prevwin in that case.
- Prior to v9.1.0001, `:wincmd p` would not beep in the case that was patched in
v9.1.0001, but now does. That resulted in #14047 being opened, as it affected
the CtrlP plugin.
I find it odd that `:wincmd p` had cases where it wouldn't beep despite doing
nothing, but it may be preferable to keep things that way (or instead also
beep if curwin == prevwin, if that's preferred).
- After more digging, I found cases in win_free_mem, enter_tabpage,
aucmd_restbuf and qf_open_new_cwindow where curwin == prevwin is possible
(many of them from autocommands). Others probably exist too, especially in
places where curwin is changed temporarily.
fixes: #14047
closes: #14186
Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 12 Mar 2024 21:00:11 +0100 |
parents | 9a846ba607bb |
children |
line wrap: on
line source
" Vim syntax file " Language: Wget2 configuration file (/etc/wget2rc ~/.wget2rc) " Maintainer: Doug Kearns <dougkearns@gmail.com> " Last Change: 2023 Nov 05 " GNU Wget2 2.1.0 - multithreaded metalink/file/website downloader if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim syn match wget2Comment "#.*" contains=wget2Todo contained syn keyword wget2Todo TODO NOTE FIXME XXX contained syn region wget2String start=+"+ skip=+\\\\\|\\"+ end=+"+ contained oneline syn region wget2String start=+'+ skip=+\\\\\|\\'+ end=+'+ contained oneline syn case ignore syn keyword wget2Boolean on off yes no y n contained syn keyword wget2Number infinity inf contained syn match wget2Number "\<\d\+>" contained syn match wget2Quota "\<\d\+[kmgt]\>" contained syn match wget2Time "\<\d\+[smhd]\>" contained "{{{ Commands let s:commands =<< trim EOL accept accept-regex adjust-extension append-output ask-password auth-no-challenge background backup-converted backups base bind-address bind-interface body-data body-file ca-certificate ca-directory cache certificate certificate-type check-certificate check-hostname chunk-size clobber compression config connect-timeout content-disposition content-on-error continue convert-file-only convert-links cookie-suffixes cookies crl-file cut-dirs cut-file-get-vars cut-url-get-vars dane debug default-http-port default-https-port default-page delete-after directories directory-prefix dns-cache dns-cache-preload dns-timeout domains download-attr egd-file exclude-directories exclude-domains execute filter-mime-type filter-urls follow-sitemaps follow-tags force-atom force-css force-directories force-html force-metalink force-progress force-rss force-sitemap fsync-policy gnupg-homedir header help host-directories hpkp hpkp-file hsts hsts-file hsts-preload hsts-preload-file html-extension http-keep-alive http-password http-proxy http-proxy-password http-proxy-user http-user http2 http2-only http2-request-window https-enforce https-only https-proxy hyperlink if-modified-since ignore-case ignore-length ignore-tags include-directories inet4-only inet6-only input-encoding input-file keep-extension keep-session-cookies level limit-rate list-plugins load-cookies local-db local-encoding local-plugin max-redirect max-threads metalink method mirror netrc netrc-file ocsp ocsp-date ocsp-file ocsp-nonce ocsp-server ocsp-stapling output-document output-file page-requisites parent password plugin plugin-dirs plugin-help plugin-opt post-data post-file prefer-family private-key private-key-type progress protocol-directories proxy quiet quota random-file random-wait read-timeout recursive referer regex-type reject reject-regex remote-encoding report-speed restrict-file-names retry-connrefused retry-on-http-error robots save-content-on save-cookies save-headers secure-protocol server-response signature-extensions span-hosts spider start-pos stats-dns stats-ocsp stats-server stats-site stats-tls strict-comments tcp-fastopen timeout timestamping tls-false-start tls-resume tls-session-file tries trust-server-names unlink use-askpass use-server-timestamps user user-agent verbose verify-save-failed verify-sig version wait waitretry xattr EOL "}}} for cmd in s:commands exe 'syn match wget2Command "\<' .. substitute(cmd, '-', '[-_]\\=', "g") .. '\>" nextgroup=wget2AssignmentOperator skipwhite contained' endfor unlet s:commands syn case match syn match wget2LineStart "^" nextgroup=wget2Command,wget2Comment skipwhite syn match wget2AssignmentOperator "=" nextgroup=wget2String,wget2Boolean,wget2Number,wget2Quota,wget2Time skipwhite contained hi def link wget2AssignmentOperator Special hi def link wget2Boolean Boolean hi def link wget2Command Identifier hi def link wget2Comment Comment hi def link wget2Number Number hi def link wget2Quota Number hi def link wget2String String hi def link wget2Time Number hi def link wget2Todo Todo let b:current_syntax = "wget2" let &cpo = s:cpo_save unlet s:cpo_save " vim: ts=8 fdm=marker: