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

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

Re: Why emacsclient -e "(current-word nil t)" does not print ?


From: Wang Lei
Subject: Re: Why emacsclient -e "(current-word nil t)" does not print ?
Date: Wed, 22 Jul 2009 13:14:05 +0800

On 7/21/09, Pascal J. Bourguignon <pjb@informatimago.com> wrote:
> Wang Lei <wanglei.198112@gmail.com> writes:
>
>>>What is the "it" that should print 't'?
>>
>> In my (current-word nil t) C-x C-e shows "t" in minibuffer.
>> This "it" means this expression "(current-word nil t)".
>
> Ok, in this case, it's normal that you get "t" since that the word
> that is before the cursor (just before the closing parenthesis) when
> you type C-x C-e.
>
>
>
>>>$ emacsclient -e '(list emacs-version (buffer-name) (current-word))'
>>>("22.2.1" "Main.cc" "FilterFunction")
>>
>> Mine. In urxvt and emacs shell mode:
>> $emacsclient -e '(list emacs-version (buffer-name) (current-word))'
>> ("23.1.50.1" " *server*" nil)
>>
>> It looks like the output really depends on the version.
>
> Yes.  But as mentionned by Miles, you can write a more complex
> expression to select the buffer where you want to work:
>
>
> $ emacsclient -e '(mapcar (function buffer-name)  (buffer-list))'
> ("some" "buffer" "names" ...)
>
> $ emacsclient -e '(with-current-buffer "index" (current-word nil t))'
> "source"
>
>
>> Here, I wanted to say I have tried to write a external program, that
>> gets the emacs' current word with emacsclient and send it to sdcv to
>> search. This is part of the whole function, the rest is to get it from
>> selection or prompt for. But now, it looks like i can not integrate
>> the emacs-part.
>
> (You could, but you must know what buffer you want.)
>

Actually, I don't know. I want the program can get any word in any
application to search. In applications like browser you have to rely
selection, but in emacs "mark" or "current-word" should be better.

>
> Why do it from the exterior?  Stay with emacs.  Write an emacs command.
>
>     (defun search-with-sdcv ()
>        (interactive)
>        (let ((word (current-word nil t)))
>           (when word
>              (shell-command (format "sdcv %S" word) "*sdcv output*" "*sdcv
> errors*"))))
>
> Then  you may even bind that command to a key:
>
>     (global-set-key (kbd "<F12>") 'search-with-sdcv)
>
> so you just have one key to type to initiate that search from emacs,
> without leaving emacs.
>
> --
> __Pascal Bourguignon__
>
Thanks for you code. I already have one. And I have wrote another, it
is a window manager extension, who can get word from selection or user
input. It is not necessary have two, so i thought to integrate them.

.............
NOW. Maybe having two choices is ok. Because if I really want to
integrate everything, "get word from screen" should be my choice, not
selection ang prompt. Thanks for you help!
-- 
Regards
Lei




reply via email to

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