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: Pascal J. Bourguignon
Subject: Re: Why emacsclient -e "(current-word nil t)" does not print ?
Date: Tue, 21 Jul 2009 17:24:51 +0200
User-agent: Gnus/5.101 (Gnus v5.10.10) Emacs/22.2 (gnu/linux)

Wang Lei <address@hidden> 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.)


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__


reply via email to

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