launch_editor(): Heed GIT_EDITOR and core.editor settings
In the commit 'Add GIT_EDITOR environment and core.editor configuration variables', this was done for the shell scripts. Port it over to builtin-tag's version of launch_editor(), which is just about to be refactored into editor.c. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
62e09ce998
commit
4d87b9c5db
@ -24,7 +24,11 @@ static void launch_editor(const char *path, char **buffer, unsigned long *len)
|
|||||||
const char *args[3];
|
const char *args[3];
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
editor = getenv("VISUAL");
|
editor = getenv("GIT_EDITOR");
|
||||||
|
if (!editor && editor_program)
|
||||||
|
editor = editor_program;
|
||||||
|
if (!editor)
|
||||||
|
editor = getenv("VISUAL");
|
||||||
if (!editor)
|
if (!editor)
|
||||||
editor = getenv("EDITOR");
|
editor = getenv("EDITOR");
|
||||||
|
|
||||||
@ -249,9 +253,9 @@ static void create_tag(const unsigned char *object, const char *tag,
|
|||||||
char *message, int sign, unsigned char *result)
|
char *message, int sign, unsigned char *result)
|
||||||
{
|
{
|
||||||
enum object_type type;
|
enum object_type type;
|
||||||
char header_buf[1024], *buffer;
|
char header_buf[1024], *buffer = NULL;
|
||||||
int header_len, max_size;
|
int header_len, max_size;
|
||||||
unsigned long size;
|
unsigned long size = 0;
|
||||||
|
|
||||||
type = sha1_object_info(object, NULL);
|
type = sha1_object_info(object, NULL);
|
||||||
if (type <= 0)
|
if (type <= 0)
|
||||||
|
2
cache.h
2
cache.h
@ -560,6 +560,8 @@ extern char *pager_program;
|
|||||||
extern int pager_in_use;
|
extern int pager_in_use;
|
||||||
extern int pager_use_color;
|
extern int pager_use_color;
|
||||||
|
|
||||||
|
extern char *editor_program;
|
||||||
|
|
||||||
/* base85 */
|
/* base85 */
|
||||||
int decode_85(char *dst, const char *line, int linelen);
|
int decode_85(char *dst, const char *line, int linelen);
|
||||||
void encode_85(char *buf, const unsigned char *data, int bytes);
|
void encode_85(char *buf, const unsigned char *data, int bytes);
|
||||||
|
5
config.c
5
config.c
@ -426,6 +426,11 @@ int git_default_config(const char *var, const char *value)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!strcmp(var, "core.editor")) {
|
||||||
|
editor_program = xstrdup(value);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Add other config variables here and to Documentation/config.txt. */
|
/* Add other config variables here and to Documentation/config.txt. */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -33,6 +33,7 @@ size_t delta_base_cache_limit = 16 * 1024 * 1024;
|
|||||||
char *pager_program;
|
char *pager_program;
|
||||||
int pager_in_use;
|
int pager_in_use;
|
||||||
int pager_use_color = 1;
|
int pager_use_color = 1;
|
||||||
|
char *editor_program;
|
||||||
int auto_crlf = 0; /* 1: both ways, -1: only when adding git objects */
|
int auto_crlf = 0; /* 1: both ways, -1: only when adding git objects */
|
||||||
|
|
||||||
static const char *git_dir;
|
static const char *git_dir;
|
||||||
|
Reference in New Issue
Block a user