aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar axel <axel@liljencrantz.se>2005-10-09 21:53:09 +1000
committerGravatar axel <axel@liljencrantz.se>2005-10-09 21:53:09 +1000
commit632ff36fe38502dbd20491e2d2d07d7eef6d48ef (patch)
tree7a8bdaccda8d49a8f1c87364dfb9b15fb45120f0
parent8093435b7e91712154739fbbf71517000e145e84 (diff)
Remove finsihed jobs after events
darcs-hash:20051009115309-ac50b-cc4526f26b7de8ef1e41c338ea653088b0ee2471.gz
-rw-r--r--event.c2
-rw-r--r--parser.c4
-rw-r--r--reader.c2
3 files changed, 5 insertions, 3 deletions
diff --git a/event.c b/event.c
index b9710e43..66540657 100644
--- a/event.c
+++ b/event.c
@@ -423,6 +423,8 @@ void event_fire( event_t *event, array_list_t *arguments )
}
is_event = is_event_old;
+ if( !is_event )
+ job_do_notification();
}
diff --git a/parser.c b/parser.c
index 9f6771d0..b12c358d 100644
--- a/parser.c
+++ b/parser.c
@@ -1824,9 +1824,7 @@ static void eval_job( tokenizer *tok )
}
}
- if(( is_subshell || is_block || !is_interactive) && (!is_event))
- job_do_notification();
-// debug( 2, L"end eval_job()\n" );
+ // debug( 2, L"end eval_job()\n" );
}
int eval( const wchar_t *cmd, io_data_t *io, int block_type )
diff --git a/reader.c b/reader.c
index 3877ae5a..0807cce9 100644
--- a/reader.c
+++ b/reader.c
@@ -623,6 +623,7 @@ void reader_write_title()
if( exec_subshell( title, &l ) != -1 )
{
int i;
+ job_do_notification();
writestr( L"\e]2;" );
for( i=0; i<al_get_count( &l ); i++ )
{
@@ -658,6 +659,7 @@ static void write_prompt()
{
if( exec_subshell( data->prompt, &prompt_list ) == -1 )
{
+ job_do_notification();
/* If executing the prompt fails, make sure we at least don't print any junk */
al_foreach( &prompt_list, (void (*)(const void *))&free );
al_destroy( &prompt_list );