From: Xiao H. <xia...@gm...> - 2013-10-20 14:30:17
|
Sorry, just forgot to cc cc-mode mailing list. ---------- Forwarded message ---------- From: Xiao Hanyu <xia...@gm...> Date: Sun, Oct 20, 2013 at 10:29 PM Subject: Re: CC Mode 5.32.4 (Java/lahw); Hooks in cc-mode seems run twice To: Alan Mackenzie <ac...@mu...> Hi, Alan: Thanks for your response. First I want to make sure that you mean that in the lastest cc-mode release, this hook will called once, right? Second, I found this quirk since I'm doing my own dotemacs project( http://github.com/xiaohanyu/oh-my-emacs) and trying to adopt emacs-eclim( https://github.com/senny/emacs-eclim/<https://github.com/senny/emacs-eclim/pull/118>) and auto-complete(https://github.com/auto-complete/auto-complete) and found auto-complete's "ac-sources" would contains same ac backend, thus results in a poor auto-completion performance. After hours of investigation, I finally found this quirk. That's the story. And it seems that GNU recommend hooks functions to be idempotent, so I've made a patch for emacs-eclim project( https://github.com/senny/emacs-eclim/pull/118). On Sun, Oct 20, 2013 at 6:09 PM, Alan Mackenzie <ac...@mu...> wrote: > Hello, Hanyu. > > On Wed, Oct 16, 2013 at 01:41:08PM +0800, Xiao Hanyu wrote: > > I've found that the mode hooks of cc-mode will run twice, same problems > > here: > > > > http://stackoverflow.com/questions/11911266/c-mode-hook-and-c-mode-hook-appears-to-run-twice > > > I'm not sure whether this is a normal case or a bug. > > This is a bit of friction between CC Mode and the Emacs core. For a few > years now, Emacs has declared java-mode (and friends) using the macro > `defined-derived-mode'. This macro rigidly inserts a call to > `java-mode-hook' after the body of `java-mode'. However, the body of > `java-mode' itself calls the hook, since it needs to do something after > that call. > > Basically, things just don't jell together quite that well. In the > standalone CC Mode (available from > <http://cc-mode.sourceforge.net/release.php>) the hook only gets called > once. > > But the big question is, does this double call cause you any actual > problems? > > Anyhow, thanks for taking the trouble to report this quirk. > > > The following is the details of my environment: > > [ .... ] > > > -- > > > Best regards > > > Hanyu Xiao ^_^ 肖晗宇 > > -- > Alan Mackenzie (Nuremberg, Germany). > -- Best regards Hanyu Xiao ^_^ 肖晗宇 -- Best regards Hanyu Xiao ^_^ 肖晗宇 |