From: Wang Lei <wanglei.198112@gmail.com>
To: "Pascal J. Bourguignon" <pjb@informatimago.com>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Why emacsclient -e "(current-word nil t)" does not print ?
Date: Wed, 22 Jul 2009 13:14:05 +0800 [thread overview]
Message-ID: <a0a0cf140907212214j7c92fea2m6265ef7f6a9096f1@mail.gmail.com> (raw)
In-Reply-To: <7cy6qihxdo.fsf@pbourguignon.anevia.com>
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
next prev parent reply other threads:[~2009-07-22 5:14 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.2874.1248150680.2239.help-gnu-emacs@gnu.org>
2009-07-21 6:52 ` Why emacsclient -e "(current-word nil t)" does not print ? Anselm Helbig
2009-07-21 7:33 ` Pascal J. Bourguignon
2009-07-21 11:23 ` Wang Lei
[not found] ` <mailman.2902.1248175432.2239.help-gnu-emacs@gnu.org>
2009-07-21 11:43 ` Anselm Helbig
2009-07-21 11:52 ` Pascal J. Bourguignon
2009-07-21 12:12 ` Miles Bader
2009-07-21 11:47 ` Pascal J. Bourguignon
2009-07-21 13:01 ` Wang Lei
[not found] ` <7cskgqjm0s.fsf@pbourguignon.informatimago.com>
[not found] ` <mailman.2906.1248181279.2239.help-gnu-emacs@gnu.org>
2009-07-21 13:35 ` Pascal J. Bourguignon
2009-07-21 14:56 ` Wang Lei
[not found] ` <7ck522jh0n.fsf@pbourguignon.informatimago.com>
[not found] ` <mailman.2912.1248188185.2239.help-gnu-emacs@gnu.org>
2009-07-21 15:24 ` Pascal J. Bourguignon
2009-07-22 5:14 ` Wang Lei [this message]
[not found] ` <mailman.2960.1248239652.2239.help-gnu-emacs@gnu.org>
2009-07-22 6:19 ` Teemu Likonen
2009-07-22 6:35 ` Anselm Helbig
2009-07-22 13:27 ` Wang Lei
2009-07-21 4:31 Wang Lei
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a0a0cf140907212214j7c92fea2m6265ef7f6a9096f1@mail.gmail.com \
--to=wanglei.198112@gmail.com \
--cc=help-gnu-emacs@gnu.org \
--cc=pjb@informatimago.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).