help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: execute a command with euc-jp


From: masashi ito
Subject: Re: execute a command with euc-jp
Date: Thu, 5 May 2011 18:01:10 -0400
User-agent: Mutt/1.5.20 (2009-06-14)

Dear Thien-Thi Nguyen,

Thank you for your detailed instruction. You told me many things I didn't
know. These will be definitely helpful in my learning lisp programming. As for
the function definition, however, the code you suggested, unfortunately,
didn't work (M-x myhowm-menu-eucjp didn't show anything).

I have tried many variations. But I haven't got things done yet. One
thing I noticed is 

(defun myhowm-menu-eucjp ()
   "to show howm menu with eucjp"
   (interactive)
   (universal-coding-system-argument 'euc-jp)
   (call-interactively 'howm-menu))

shows the prompt "Command to execute with euc-jp" and stops waiting for further
input. If I press just "enter," howm-menu is processed with a wrong
encoding. If instead I press "ctrl-c , '" which is bound to the howm-menu
command, howm-menu is processed with the euc-jp encoding...

Any suggestion is welcomed!

Masashi

On Thu, May 05, 2011 at 10:31:52AM +0200, Thien-Thi Nguyen wrote:
> () masashi ito <ma345to@gmx.com>
> () Wed, 4 May 2011 20:29:34 -0400
> 
>    (defun myhowm-menu-eucjp ()
>           "to show howm menu with eucjp"
>       (interactive)
>       (universal-coding-system-argument 'euc-jp)
>       (howm-menu)
>    )
> 
>    What should I do to run the command, howm-menu, with the euc-jp
>    encoding automatically without prompting me to enter "howm-menu."
> 
> The long (but more satisfying IMHO) way:
> 
>  Move the cursor to ‘universal-coding-system-argument’ and type
>  ‘C-h f RET’.  Emacs will show a buffer *Help* at the top of
>  which appears:
>  
>    universal-coding-system-argument is an interactive compiled
>    Lisp function in `mule-cmds.el'.
>  
>  If your Emacs is properly installed, the words mule-cmds.el will be
>  presented as a hyperlink.  You can move the cursor there (by typing
>  TAB repeatedly) and type RET to follow it, or click with the mouse.
>  Doing so will open a buffer viewing that file, with cursor at function
>  ‘universal-coding-system-argument’.
>  
>  Type ‘C-M-e’ to go to the end of the defun.  Note the form:
>  
>      (let ((coding-system-for-read coding-system)
>         (coding-system-for-write coding-system)
>         (coding-system-require-warning t)
>         (current-prefix-arg prefix))
>        (message "")
>        (call-interactively cmd))
>  
>  or something like that.  This shows the basic approach of how to
>  invoke a command using a specific coding system: ‘let’-bind some
>  variables to the desired value around a call to ‘call-interactively’.
>  Transfer this form into ‘myhowm-menu-eucjp’, hard-coding the constant
>  bits as you see fit, and pruning the parts that don't seem relevant.
>  You might end up with:
> 
> The short (but untested, only derived) way:
> 
>  (defun myhowm-menu-eucjp ()
>    "to show howm menu with eucjp"
>    (interactive)
>    (let ((coding-system-for-read 'euc-jp)
>          (coding-system-for-write 'euc-jp)
>          (coding-system-require-warning t))
>      (call-interactively 'howm-menu)))
> 
> In any case, if your Emacs is not properly installed, fix that first.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]