From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Wang Lei Newsgroups: gmane.emacs.help Subject: Re: Why emacsclient -e "(current-word nil t)" does not print ? Date: Wed, 22 Jul 2009 13:14:05 +0800 Message-ID: References: <87r5waa3t8.fsf@galatea.local> <7cskgqjm0s.fsf@pbourguignon.informatimago.com> <7ck522jh0n.fsf@pbourguignon.informatimago.com> <7cy6qihxdo.fsf@pbourguignon.anevia.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1248239699 32180 80.91.229.12 (22 Jul 2009 05:14:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 22 Jul 2009 05:14:59 +0000 (UTC) Cc: help-gnu-emacs@gnu.org To: "Pascal J. Bourguignon" Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Jul 22 07:14:51 2009 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MTUAE-0004ry-Qc for geh-help-gnu-emacs@m.gmane.org; Wed, 22 Jul 2009 07:14:51 +0200 Original-Received: from localhost ([127.0.0.1]:43273 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MTUAD-0001Bc-VG for geh-help-gnu-emacs@m.gmane.org; Wed, 22 Jul 2009 01:14:49 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MTU9Z-0001BX-UO for help-gnu-emacs@gnu.org; Wed, 22 Jul 2009 01:14:10 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MTU9Y-0001BK-1x for help-gnu-emacs@gnu.org; Wed, 22 Jul 2009 01:14:08 -0400 Original-Received: from [199.232.76.173] (port=51431 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MTU9X-0001BH-O7 for help-gnu-emacs@gnu.org; Wed, 22 Jul 2009 01:14:07 -0400 Original-Received: from qw-out-1920.google.com ([74.125.92.148]:39969) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MTU9X-0003tj-8H for help-gnu-emacs@gnu.org; Wed, 22 Jul 2009 01:14:07 -0400 Original-Received: by qw-out-1920.google.com with SMTP id 5so1748577qwf.24 for ; Tue, 21 Jul 2009 22:14:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Gh8IxG8VygEHiQDhSewGipctN535ZPU4wqpauxjq2ns=; b=ZMg4gqT/HNbK1Ab1l+iiO1Ggde97ANsINSi9KnVC+ueCWkbw3jJuR23FY05IRkAfUM jcN7nXugNMellsWpvrIOloUQo3uGc8pOMWMVef3P1psLJwmb2WW7mUm9+EVMHz/ndzHg T98NW6Ys+4IugH5zt9a2/PJKQe9xXdniTo0Ho= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=jkQBGNbP85HROR9254crXq4WrdCPS+9BVOe0MqCceIYMtDBPlPs0TFPu9oUSmtqp7S co6qKdeQ6dAHA+Rw09DBoiszsFOcnpuIFS+wNmSW0oZa8nwbY+oBupXZCdKyL+HYysOb 7lPkQgjl69R9cocEL7LrDd+a/721O/0FX68wM= Original-Received: by 10.220.85.81 with SMTP id n17mr319025vcl.54.1248239645877; Tue, 21 Jul 2009 22:14:05 -0700 (PDT) In-Reply-To: <7cy6qihxdo.fsf@pbourguignon.anevia.com> X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:66332 Archived-At: On 7/21/09, Pascal J. Bourguignon wrote: > Wang Lei 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 "") '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