mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-05-29 18:51:15 -03:00
Revert "builtin function: remove dead code"
This reverts commit993b977c9b. Fixes #11912 (cherry picked from commitb7fe3190bb)
This commit is contained in:
@@ -1,5 +1,12 @@
|
||||
fish 4.1.2 (released October 07, 2025)
|
||||
======================================
|
||||
fish 4.1.3 (released ???)
|
||||
=========================
|
||||
|
||||
This release fixes the following regressions identified in 4.1.0:
|
||||
|
||||
- Crash on invalid :doc:`function <cmds/function>` call (:issue:`11912`).
|
||||
|
||||
fish 4.1.2 (released October 7, 2025)
|
||||
=====================================
|
||||
|
||||
This release fixes the following regressions identified in 4.1.0:
|
||||
|
||||
|
||||
4
po/de.po
4
po/de.po
@@ -795,6 +795,10 @@ msgstr "%lsund %lu weitere Zeilen"
|
||||
msgid "%lu\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%ls: function name required"
|
||||
msgstr "%ls: Brauche Funktionsnamen"
|
||||
|
||||
#, c-format
|
||||
msgid "%s"
|
||||
msgstr ""
|
||||
|
||||
4
po/en.po
4
po/en.po
@@ -794,6 +794,10 @@ msgstr "%lsand %lu more rows"
|
||||
msgid "%lu\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%ls: function name required"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s"
|
||||
msgstr ""
|
||||
|
||||
4
po/fr.po
4
po/fr.po
@@ -895,6 +895,10 @@ msgstr "%lset %lu lignes de plus"
|
||||
msgid "%lu\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%ls: function name required"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s"
|
||||
msgstr ""
|
||||
|
||||
4
po/pl.po
4
po/pl.po
@@ -790,6 +790,10 @@ msgstr "%lsand %lu więcej rzędów"
|
||||
msgid "%lu\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%ls: function name required"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s"
|
||||
msgstr ""
|
||||
|
||||
@@ -795,6 +795,10 @@ msgstr "%lse mais %lu linhas"
|
||||
msgid "%lu\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%ls: function name required"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s"
|
||||
msgstr ""
|
||||
|
||||
4
po/sv.po
4
po/sv.po
@@ -791,6 +791,10 @@ msgstr "%lsoch %lu rader till"
|
||||
msgid "%lu\n"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%ls: function name required"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s"
|
||||
msgstr ""
|
||||
|
||||
@@ -812,6 +812,10 @@ msgstr "%ls还有 %lu 行"
|
||||
msgid "%lu\n"
|
||||
msgstr "%lu\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%ls: function name required"
|
||||
msgstr "%ls: 函数名称是必须的"
|
||||
|
||||
#, c-format
|
||||
msgid "%s"
|
||||
msgstr "%s"
|
||||
|
||||
@@ -243,7 +243,19 @@ fn parse_cmd_opts(
|
||||
STATUS_CMD_OK
|
||||
}
|
||||
|
||||
fn validate_function_name(function_name: &wstr, cmd: &wstr, streams: &mut IoStreams) -> c_int {
|
||||
fn validate_function_name(
|
||||
argv: &mut [&wstr],
|
||||
function_name: &mut WString,
|
||||
cmd: &wstr,
|
||||
streams: &mut IoStreams,
|
||||
) -> c_int {
|
||||
if argv.len() < 2 {
|
||||
streams
|
||||
.err
|
||||
.append(wgettext_fmt!("%ls: function name required", cmd));
|
||||
return STATUS_INVALID_ARGS;
|
||||
}
|
||||
*function_name = argv[1].to_owned();
|
||||
if !valid_func_name(function_name) {
|
||||
streams.err.append(wgettext_fmt!(
|
||||
"%ls: %ls: invalid function name",
|
||||
@@ -281,8 +293,8 @@ pub fn function(
|
||||
let cmd = argv[0];
|
||||
|
||||
// A valid function name has to be the first argument.
|
||||
let function_name = argv[1].to_owned();
|
||||
let mut retval = validate_function_name(&function_name, cmd, streams);
|
||||
let mut function_name = WString::new();
|
||||
let mut retval = validate_function_name(argv, &mut function_name, cmd, streams);
|
||||
if retval != STATUS_CMD_OK {
|
||||
return retval;
|
||||
}
|
||||
|
||||
@@ -186,4 +186,10 @@ function foo; echo before; end
|
||||
foo (functions --erase foo)
|
||||
# CHECKERR: error: Unknown function 'foo'
|
||||
|
||||
function ()
|
||||
end
|
||||
# CHECKERR: {{.*}}/tests/checks/function.fish (line {{\d+}}): function: function name required
|
||||
# CHECKERR: function ()
|
||||
# CHECKERR: ^
|
||||
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user