diff --git a/doc_src/funced.txt b/doc_src/funced.txt
index 1d6daf669..46594de74 100644
--- a/doc_src/funced.txt
+++ b/doc_src/funced.txt
@@ -1,13 +1,14 @@
\section funced funced - edit a function interactively
\subsection funced-synopsis Synopsis
- funced [-e editor] NAME
+ funced [OPTIONS] NAME
\subsection funced-description Description
-Use the funced command to interactively edit the definition of a
-function. If there is no function with the name specified, a skeleton function is inserted, if a function exist, the definion will be shown in your editor or on the command line.
+Use the funced command to edit the definition of a
+function. If there is no function with the name specified, a skeleton function is inserted, if a function exist, the definition will be shown in your editor or on the command line.
By default, funced edits functions using the text editor in your $EDITOR variable, if set; otherwise it uses the built-in editor.
- -e command
or --editor command
Open the function body inside the text editor given by the command (for example, "vi"). The command 'fish' will use the built-in editor.
+- -i
or --interactive
Open function body in built-in editor.
diff --git a/share/functions/funced.fish b/share/functions/funced.fish
index ad56dab0c..cc9db224a 100644
--- a/share/functions/funced.fish
+++ b/share/functions/funced.fish
@@ -47,7 +47,11 @@ function funced --description 'Edit function definition'
set init function $funcname\n\nend
end
- if begin; test "$editor" = fish; or set -q interactive[1]; end
+ if not type -f "$editor" >/dev/null
+ set interactive 1
+ end
+
+ if begin; set -q interactive[1]; or test "$editor" = fish; end
set -l IFS
if functions -q -- $funcname
# Shadow IFS here to avoid array splitting in command substitution
@@ -65,12 +69,6 @@ function funced --description 'Edit function definition'
return 0
end
- if not type -f "$editor" >/dev/null
- set_color red
- printf (_ "%s: Editor %s is not found\n") funced $editor
- set_color normal
- end
-
set -q TMPDIR; or set -l TMPDIR /tmp
set -l tmpname (printf "$TMPDIR/fish_funced_%d_%d.fish" %self (random))
while test -f $tmpname