On 05/13/2011 11:03 PM, Daniel Philip Katz wrote:
> Hi -
> I'm running cedet from the bzr trunk with emacs-23.3.1 on an Ubuntu 11.4 box. What I've noticed is that I keep getting prompted by process-kill-buffer-query-function all the time! After getting sufficiently annoyed, I set a breakpoint and found the following backtrace:
> Debugger entered--entering a function:
> * process-kill-buffer-query-function()
> kill-buffer(#<buffer *tmp object write*>)
> [... lots of byte-code and stuff ...]
> My read of this is as follows:
> - semantic-db-save-all-db-idle creates a temp buffer that has a process attached, does a bunch of stuff, and then kills the buffer
> - GNU emacs (as of 23.2, based on the NEWS file) now asks for confirmation when killing a buffer with a running process
> It's possible to get around this problem just removing process-kill-buffer-query-function from kill-buffer-query-functions, but I don't want to remove that behavior globally. Ideally, I'd like to just (set-process-query-on-exit-flat<whatever-semantic-db-process-this-is> nil), but I don't have a simple hook for that that I see offhand. And anyway, are the transaction semantics of semanticdb-save-all-db-idle() sufficiently robust that they don't mind if the process just gets killed without any notice?
> I figured that before I started trying to tweak the semanticdb code to deal with this I ought to ask if other people have seen this and if there's a better solution that what I've outlined here.
I am unfamiliar with the issue you describe. There should be no
processes associated with the object write buffer. do you perhaps have
some unusual hooks in your .emacs file that is creating subprocesses in
some way? Perhaps a call to
M-x list-process RET
will reveal something when the debugger is stopped.