From 1e534b8a0da393c90b6dedeb5fdd1abd08293ae7 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Wed, 3 Jun 2015 14:00:59 +0200 Subject: [PATCH] systemctl: Use /usr/bin/editor if available If the EDITOR environment variable is not set, the Debian policy recommends to use the /usr/bin/editor program as default editor. This file is managed via the dpkg alternatives mechanism and typically used in Debian/Ubuntu and derivatives to configure the default editor. See section 11.4 of the Debian policy [1]. Therefor prefer /usr/bin/editor over specific editors if available. [1] https://www.debian.org/doc/debian-policy/ch-customized-programs.html (cherry picked from commit 9391a1c3d6c94c478b0016a81df3f874fd99260e) --- man/systemctl.xml | 1 + src/systemctl/systemctl.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/man/systemctl.xml b/man/systemctl.xml index 94a77bce0c..9b79c2df0f 100644 --- a/man/systemctl.xml +++ b/man/systemctl.xml @@ -1730,6 +1730,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service $VISUAL are present or if it is set to an empty string or if their execution failed, systemctl will try to execute well known editors in this order: + editor1, nano1, vim1, vi1. diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index f8e10a4710..cf5aa07ac6 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -5870,7 +5870,7 @@ static int run_editor(char **paths) { execvp(editor, (char* const*) args); } - FOREACH_STRING(p, "nano", "vim", "vi") { + FOREACH_STRING(p, "editor", "nano", "vim", "vi") { args[0] = p; execvp(p, (char* const*) args); /* We do not fail if the editor doesn't exist