Subject: bug#4709: 23.1; keyboard-translate not working with emacs daemon

From: Ryo Furue <[email-masked]>
Date: Fri, 16 Oct 2009 14:55:49 -1000 (HST)

Hi Stefan,

| > As you can see, the emacs daemon seems to ignore it
| > in your ~/.emacs and you still have to manually
| > evaluate it on an emacsclient.
| 
| That doesn't sound right.  Can you check that the relevant code from
| your .emacs is indeed executed?  E.g. add a (message "I'm here") and/or
| a (setq my-test 'passed) right after the define-key.

Thank you for debugging my problem and I'm sorry that that was
purely my mistake.  I was forgetting that I had a byte-compiled
version of .emacs !

So, by (define-key key-translation-map . . .), my original problem
has been solved.  I'll report this back to gnu.emacs.help .

The following is a digression.

I normally don't byte-compile my stuff and when I did it,
I didn't pay much attention to it because I had the misconception
that the newer is used if both .el and .elc are found.
I just byte-compiled it "from time to time".

I hadn't been interested in byte compilation before emacs23
because the startup of emacs22 (and emacs21 if I remember
correctly) was lightening quick.  emacs23's startup,
on the other hand, is crawlingly slow.  That's why
I tried byte-compilation (but that didn't help much)
and then the emacs daemon (which is a nice solution).

Regarding byte compilation, I found these conversations:

http://curiousprogrammer.wordpress.com/2009/03/04/compiling-at-emacs-startup/
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=2577

I understand there are two schools of thoughts:

1) The byte compiled version is a stable version
   and the source is a work in progress.  Therefore,
   the byte compiled version should be used.

2) The byte compiled version is just a faster version
   of the source.  Therefore, whichever is the newer
   should be used.

My guess is that view 1 is generally taken by elisp
developers and so that's the default behavior of emacs.
I guess most "ordinary" users would take View 2; they
don't have much elisp code in progress.  I'm wondering
if there is a simple way to switch between the two
behaviors easily and quickly.

Anyway, thank you again for your great help.

Best regards,
Ryo