Hi. I played a little with the kernel trace tool and discovered that Emacs quite regularly calls system functions although it's not even active. I'm not sure whether this is results from the Carbon port or whether this is an artifact of standard Emacs. However, /usr/bin/emacs doesn't show this behavior:
As you can see within just three seconds, Emacs executed 54 system calls. I attached the traces which show you where these calls originate. It this is a result of the Carbon implementation, it should be fixed, because Emacs uses a lot of resources and battery over time without doing anything. ------- $ time dtrace -n syscall:::entry'/execname== "Emacs"/[EMAIL PROTECTED]()] = count()}' libSystem.B.dylib`sigprocmask+0xa Emacs`gobble_input+0x46 Emacs`get_input_pending+0x5e Emacs`detect_input_pending+0x1f Emacs`select_and_poll_event+0x35 Emacs`sys_select+0x733 Emacs`wait_reading_process_output+0x7a7 Emacs`sit_for+0x124 Emacs`read_char+0xe90 Emacs`read_key_sequence+0x64b Emacs`command_loop_1+0x378 Emacs`internal_condition_case+0xea Emacs`command_loop_2+0x44 Emacs`internal_catch+0xab Emacs`command_loop+0x76 Emacs`recursive_edit_1+0x8c Emacs`Frecursive_edit+0xad Emacs`main+0x10e6 Emacs`_start+0xd8 Emacs`start+0x29 6 libSystem.B.dylib`sigprocmask+0xa Emacs`gobble_input+0x46 Emacs`get_input_pending+0x5e Emacs`detect_input_pending+0x1f Emacs`wait_reading_process_output+0x60c Emacs`sit_for+0x124 Emacs`read_char+0xe90 Emacs`read_key_sequence+0x64b Emacs`command_loop_1+0x378 Emacs`internal_condition_case+0xea Emacs`command_loop_2+0x44 Emacs`internal_catch+0xab Emacs`command_loop+0x76 Emacs`recursive_edit_1+0x8c Emacs`Frecursive_edit+0xad Emacs`main+0x10e6 Emacs`_start+0xd8 Emacs`start+0x29 0x3 6 libSystem.B.dylib`sigprocmask+0xa Emacs`gobble_input+0x46 Emacs`get_input_pending+0x5e Emacs`detect_input_pending_run_timers+0x2c Emacs`wait_reading_process_output+0x89a Emacs`sit_for+0x124 Emacs`read_char+0xe90 Emacs`read_key_sequence+0x64b Emacs`command_loop_1+0x378 Emacs`internal_condition_case+0xea Emacs`command_loop_2+0x44 Emacs`internal_catch+0xab Emacs`command_loop+0x76 Emacs`recursive_edit_1+0x8c Emacs`Frecursive_edit+0xad Emacs`main+0x10e6 Emacs`_start+0xd8 Emacs`start+0x29 0x3 6 libSystem.B.dylib`sigprocmask+0xa Emacs`gobble_input+0x58 Emacs`get_input_pending+0x5e Emacs`detect_input_pending+0x1f Emacs`select_and_poll_event+0x35 Emacs`sys_select+0x733 Emacs`wait_reading_process_output+0x7a7 Emacs`sit_for+0x124 Emacs`read_char+0xe90 Emacs`read_key_sequence+0x64b Emacs`command_loop_1+0x378 Emacs`internal_condition_case+0xea Emacs`command_loop_2+0x44 Emacs`internal_catch+0xab Emacs`command_loop+0x76 Emacs`recursive_edit_1+0x8c Emacs`Frecursive_edit+0xad Emacs`main+0x10e6 Emacs`_start+0xd8 Emacs`start+0x29 6 libSystem.B.dylib`sigprocmask+0xa Emacs`gobble_input+0x58 Emacs`get_input_pending+0x5e Emacs`detect_input_pending+0x1f Emacs`wait_reading_process_output+0x60c Emacs`sit_for+0x124 Emacs`read_char+0xe90 Emacs`read_key_sequence+0x64b Emacs`command_loop_1+0x378 Emacs`internal_condition_case+0xea Emacs`command_loop_2+0x44 Emacs`internal_catch+0xab Emacs`command_loop+0x76 Emacs`recursive_edit_1+0x8c Emacs`Frecursive_edit+0xad Emacs`main+0x10e6 Emacs`_start+0xd8 Emacs`start+0x29 0x3 6 libSystem.B.dylib`sigprocmask+0xa Emacs`gobble_input+0x58 Emacs`get_input_pending+0x5e Emacs`detect_input_pending_run_timers+0x2c Emacs`wait_reading_process_output+0x89a Emacs`sit_for+0x124 Emacs`read_char+0xe90 Emacs`read_key_sequence+0x64b Emacs`command_loop_1+0x378 Emacs`internal_condition_case+0xea Emacs`command_loop_2+0x44 Emacs`internal_catch+0xab Emacs`command_loop+0x76 Emacs`recursive_edit_1+0x8c Emacs`Frecursive_edit+0xad Emacs`main+0x10e6 Emacs`_start+0xd8 Emacs`start+0x29 0x3 6 libSystem.B.dylib`setitimer+0xa Emacs`start_polling+0x32 Emacs`redisplay_internal+0x11d6 Emacs`redisplay_preserve_echo_area+0x33 Emacs`detect_input_pending_run_timers+0x43 Emacs`wait_reading_process_output+0x89a Emacs`sit_for+0x124 Emacs`read_char+0xe90 Emacs`read_key_sequence+0x64b Emacs`command_loop_1+0x378 Emacs`internal_condition_case+0xea Emacs`command_loop_2+0x44 Emacs`internal_catch+0xab Emacs`command_loop+0x76 Emacs`recursive_edit_1+0x8c Emacs`Frecursive_edit+0xad Emacs`main+0x10e6 Emacs`_start+0xd8 Emacs`start+0x29 0x3 6 libSystem.B.dylib`__sigaction+0xa Emacs`sys_signal+0x33 Emacs`turn_on_atimers+0x29 Emacs`start_polling+0x32 Emacs`redisplay_internal+0x11d6 Emacs`redisplay_preserve_echo_area+0x33 Emacs`detect_input_pending_run_timers+0x43 Emacs`wait_reading_process_output+0x89a Emacs`sit_for+0x124 Emacs`read_char+0xe90 Emacs`read_key_sequence+0x64b Emacs`command_loop_1+0x378 Emacs`internal_condition_case+0xea Emacs`command_loop_2+0x44 Emacs`internal_catch+0xab Emacs`command_loop+0x76 Emacs`recursive_edit_1+0x8c Emacs`Frecursive_edit+0xad Emacs`main+0x10e6 Emacs`_start+0xd8 6 libSystem.B.dylib`select$DARWIN_EXTSN$NOCANCEL+0xa Emacs`select_and_poll_event+0xa2 Emacs`sys_select+0x733 Emacs`wait_reading_process_output+0x7a7 Emacs`sit_for+0x124 Emacs`read_char+0xe90 Emacs`read_key_sequence+0x64b Emacs`command_loop_1+0x378 Emacs`internal_condition_case+0xea Emacs`command_loop_2+0x44 Emacs`internal_catch+0xab Emacs`command_loop+0x76 Emacs`recursive_edit_1+0x8c Emacs`Frecursive_edit+0xad Emacs`main+0x10e6 Emacs`_start+0xd8 Emacs`start+0x29 0x3 6 real 0m3.328s user 0m0.149s sys 0m0.138s --~--~---------~--~----~------------~-------~--~----~ Carbon Emacs User Group http://groups.google.com/group/carbon-emacs?hl=en -~----------~----~----~----~------~----~------~--~---