sh_vimglob_func: echo "$1" is non-portable according to POSIX
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 74/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Ambito
- operating-systems
Direzione di ricerca
La stringa di comando shell sh_vimglob_func è definita in mch_expand_wildcards() in src/os_unix.c, e il diff della segnalazione mostra la chiamata a echo da sostituire. Prima riproduci il problema: crea un file chiamato -n con touch ./-n, avvia Vim ed esegui :echo glob('-{n,E}') per vedere il nome mancante. È completato quando glob restituisce -n e l'elenco dei file è corretto, verificato in una shell POSIX come dash e anche in bash.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Steps to reproduce
Try in shell: touch ./-n
Then in vim: :echo glob('-{n,E}')
'-n' is not printed, only a new line.
Expected behaviour
Should work for all files.
Version of Vim
9.2.1178
Environment
Fedora 44
Logs and stack traces
Fix:
diff --git a/src/os_unix.c b/src/os_unix.c
index 9bbe7baf2..a54ba740c 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -7221,7 +7221,7 @@ mch_expand_wildcards(
static int did_find_nul = FALSE;
int ampersand = FALSE;
// vimglob() function to define for Posix shell
- static string_T sh_vimglob_func = STR_LITERAL_INIT("vimglob() { while [ $# -ge 1 ]; do echo \"$1\"; shift; done }; vimglob >");
+ static string_T sh_vimglob_func = STR_LITERAL_INIT("vimglob() { while [ $# -ge 1 ]; do printf '%s\n' \"$1\"; shift; done }; vimglob >");
// vimglob() function with globstar setting enabled, only for bash >= 4.X
static string_T sh_globstar_opt = STR_LITERAL_INIT("[[ ${BASH_VERSINFO[0]} -ge 4 ]] && shopt -s globstar; ");
- Lingua principale
- Vim Script
- Stelle
- 41.2k
- Fork
- 6.2k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di vim/vim
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
PlummersSoftwareLLC/tmog-feedback#1429 ·
-
good first issue kernel
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
JackFurton/who-would-build-a-kernel-in-java#193 ·
I maintainer di solito rispondono entro 1 giorno
-
Good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
armbian/build#10991 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ValveSoftware/SteamOS#2927 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ValveSoftware/wine#366 · 1 commento ·