diff options
| author | Fumitoshi UKAI <ukai@debian.or.jp> | 2002-06-01 17:09:04 +0000 | 
|---|---|---|
| committer | Fumitoshi UKAI <ukai@debian.or.jp> | 2002-06-01 17:09:04 +0000 | 
| commit | 900682ebd541cad4fceb918c0ec37c3b1f98c78b (patch) | |
| tree | 494cc6e76a948f9da7ed9dfc1d22e2c3b1b1a11f | |
| parent | [w3m-dev 03200] Re: New configuration option ``keymap_file'' and new command ... (diff) | |
| download | w3m-900682ebd541cad4fceb918c0ec37c3b1f98c78b.tar.gz w3m-900682ebd541cad4fceb918c0ec37c3b1f98c78b.zip | |
[w3m-dev-en 00748] PATCH: Reinitialize w3m while running
* funcname.tab (INIT_MAILCAP): deleted
	(REINIT): added
* main.c (config_filename): added
	(reinit): added
* proto.h (reinit): added
* rc.c (rc_initialized): deleted
* w3mhelperpanel.c (editMailcap): use REINIT MAILCAP
From: Tushar Samant <scribble@pobox.com>
Diffstat (limited to '')
| -rw-r--r-- | ChangeLog | 13 | ||||
| -rw-r--r-- | NEWS | 2 | ||||
| -rw-r--r-- | funcname.tab | 4 | ||||
| -rw-r--r-- | main.c | 69 | ||||
| -rw-r--r-- | proto.h | 3 | ||||
| -rw-r--r-- | rc.c | 7 | ||||
| -rw-r--r-- | w3mhelperpanel.c | 4 | 
7 files changed, 88 insertions, 14 deletions
| @@ -1,3 +1,14 @@ +2002-06-02  Tushar Samant <scribble@pobox.com> + +	* [w3m-dev-en 00748] PATCH: Reinitialize w3m while running +	* funcname.tab (INIT_MAILCAP): deleted +		(REINIT): added +	* main.c (config_filename): added +		(reinit): added +	* proto.h (reinit): added +	* rc.c (rc_initialized): deleted +	* w3mhelperpanel.c (editMailcap): use REINIT MAILCAP +  2002-06-02  Kiyokazu SUTO <suto@ks-and-ks.ne.jp>  	* [w3m-dev 03200] Re: New configuration option ``keymap_file'' and new command ``DEFINE_KEY'' @@ -3443,4 +3454,4 @@  	* release-0-2-1  	* import w3m-0.2.1 -$Id: ChangeLog,v 1.381 2002/06/01 16:50:16 ukai Exp $ +$Id: ChangeLog,v 1.382 2002/06/01 17:09:04 ukai Exp $ @@ -1,5 +1,7 @@  w3m 0.4? +* func: REINIT +	INIT_MAILCAP deleted, use REINIT MAILCAP instead  * func: DEFINE_KEY  * rc: keymap_file  * rc: use_dictcommand, dictcommand diff --git a/funcname.tab b/funcname.tab index a56f98e..e0f21b8 100644 --- a/funcname.tab +++ b/funcname.tab @@ -1,4 +1,4 @@ -# $Id: funcname.tab,v 1.9 2002/06/01 16:50:16 ukai Exp $ +# $Id: funcname.tab,v 1.10 2002/06/01 17:09:05 ukai Exp $  # macro name	function name  #----------------------------  @@@		nulcmd @@ -36,7 +36,6 @@ GOTO_RELATIVE	gorURL  HELP		ldhelp  HISTORY		ldHist  INFO		pginfo -INIT_MAILCAP	initMailcap  INTERRUPT	susp  ISEARCH		isrchfor  ISEARCH_BACK	isrchbak @@ -91,6 +90,7 @@ QUIT		qquitfm  READ_SHELL	readsh  REDRAW		rdrwSc  REG_MARK	reMark +REINIT		reinit  RELOAD		reload  RIGHT		col1R  SAVE		svSrc @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.100 2002/06/01 16:50:16 ukai Exp $ */ +/* $Id: main.c,v 1.101 2002/06/01 17:09:05 ukai Exp $ */  #define MAINPROGRAM  #include "fm.h"  #include <signal.h> @@ -25,6 +25,8 @@ extern int do_getch();  #define DSTR_LEN	256 +static char *config_filename = NULL; +  Hist *LoadHist;  Hist *SaveHist;  Hist *URLHist; @@ -354,7 +356,6 @@ MAIN(int argc, char **argv, char **envp)      char search_header = FALSE;      char *default_type = NULL;      char *post_file = NULL; -    char *config_filename = NULL;      Str err_msg;  #ifndef HAVE_SYS_ERRLIST @@ -5093,6 +5094,70 @@ setAlarmEvent(int sec, short status, int cmd, void *data)  #endif  void +reinit() +{ +    char *resource = searchKeyData(); + +    if (resource == NULL) { +	init_rc(config_filename); +#ifdef USE_COOKIE +	initCookie(); +#endif +	initKeymap(); +#ifdef USE_MENU +	initMenu(); +#endif +	return; +    } + +    if (!strcasecmp(resource, "CONFIG") || !strcasecmp(resource, "RC")) { +	init_rc(config_filename); +	return; +    } + +#ifdef USE_COOKIE +    if (!strcasecmp(resource, "COOKIE")) { +	initCookie(); +	return; +    } +#endif + +    if (!strcasecmp(resource, "KEYMAP")) { +	initKeymap(); +	return; +    } + +    if (!strcasecmp(resource, "MAILCAP")) { +	initMailcap(); +	return; +    } + +#ifdef USE_MENU +    if (!strcasecmp(resource, "MENU")) { +	initMenu(); +	return; +    } +#endif + +    if (!strcasecmp(resource, "MIMETYPES")) { +	initMimeTypes(); +	return; +    } + +#ifdef USE_EXTERNAL_URI_LOADER +    if (!strcasecmp(resource, "URIMETHODS")) { +	initURIMethods(); +	return; +    } +#endif + +    disp_err_message( +	Sprintf("Don't know how to reinitialize '%s'", resource)->ptr, +	FALSE +    ); +} + +void  defKey(void)  {      char *data; @@ -1,4 +1,4 @@ -/* $Id: proto.h,v 1.42 2002/06/01 16:50:16 ukai Exp $ */ +/* $Id: proto.h,v 1.43 2002/06/01 17:09:05 ukai Exp $ */  /*    *   This file was automatically generated by version 1.7 of cextract.   *   Manual editing not recommended. @@ -116,6 +116,7 @@ extern void setAlarmEvent(int sec, short status, int cmd, void *data);  #else  #define setAlarm nulcmd  #endif +extern void reinit(void);  extern void defKey(void);  extern int currentLn(Buffer *buf);  extern void tmpClearBuffer(Buffer *buf); @@ -1,4 +1,4 @@ -/* $Id: rc.c,v 1.44 2002/06/01 16:50:16 ukai Exp $ */ +/* $Id: rc.c,v 1.45 2002/06/01 17:09:05 ukai Exp $ */  /*    * Initialization file etc.   */ @@ -33,7 +33,6 @@ struct rc_search_table {  static struct rc_search_table *RC_search_table;  static int RC_table_size; -static int rc_initialized = 0;  static char *config_file = NULL;  #define P_INT      0 @@ -1259,10 +1258,6 @@ init_rc(char *config_filename)  	&& ((tmpdir = getenv("TMPDIR")) == NULL || *tmpdir == '\0'))  	tmpdir = "/tmp"; -    if (rc_initialized) -	return; -    rc_initialized = 1; -      if (stat(rc_dir, &st) < 0) {  	if (errno == ENOENT) {	/* no directory */  	    if (do_mkdir(rc_dir, 0700) < 0) { diff --git a/w3mhelperpanel.c b/w3mhelperpanel.c index 87c602f..8de5348 100644 --- a/w3mhelperpanel.c +++ b/w3mhelperpanel.c @@ -1,4 +1,4 @@ -/* $Id: w3mhelperpanel.c,v 1.7 2001/12/02 16:26:08 ukai Exp $ */ +/* $Id: w3mhelperpanel.c,v 1.8 2002/06/01 17:09:05 ukai Exp $ */  #include <errno.h>  #include <stdlib.h>  #include <stdio.h> @@ -153,7 +153,7 @@ editMailcap(char *mailcap, struct parsed_tagarg *args)      fclose(f);      printf("Content-Type: text/plain\n");      printf("w3m-control: BACK\nw3m-control: BACK\n"); -    printf("w3m-control: INIT_MAILCAP\n"); +    printf("w3m-control: REINIT MAILCAP\n");  }  int | 
