From: "B. T. Raven" <nihil@nihilo.net>
To: help-gnu-emacs@gnu.org
Subject: Re: Combining two short lisp routines
Date: Fri, 06 May 2011 22:34:54 -0500 [thread overview]
Message-ID: <hNSdnWZJ_JJSIFnQnZ2dnUVZ_oWdnZ2d@sysmatrix.net> (raw)
In-Reply-To: <barmar-9E60DC.17511206052011@reserved-multicast-range-not-delegated.example.com>
Barry Margolin wrote:
> In article <wMqdnfEhReeUaV7QnZ2dnUVZ_rmdnZ2d@sysmatrix.net>,
> "B. T. Raven" <nihil@nihilo.net> wrote:
>
>> Barry Margolin wrote:
>>> In article <LbCdnUvW4ImHql7QnZ2dnUVZ_r6dnZ2d@sysmatrix.net>,
>>> "B. T. Raven" <nihil@nihilo.net> wrote:
>>>
>>>> Can these two routines be combined, maybe by not even visiting dict.txt,
>>>> but transferring everything to end of line from that buffer?
>>>>
>>>> (defun sld (word);; run from rcirc channel
>>>> "Regex Search dictionary for Eng Word at line beginning"
>>>> (interactive"sWord:")
>>>> (switch-to-buffer "dict.txt")
>>>> (re-search-forward (concat "^" word))
>>>> )
>>>>
>>>> (defun ttb (beg end);; run from dict.txt buffer
>>>> "Transfer text to other buffer\n"
>>>> (interactive "r")
>>>>
>>>> ;; in dict.txt buffer mark stretch of text here interactively for
>>>> ;;;copying back to channel buffer
>>>>
>>>> (switch-to-buffer (other-buffer))
>>>> (yank)
>>>> )
>>>>
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> Ed
>>> (defun insert-definition (word)
>>> "Search for WORD in dictionary, insert definition here."
>>> (interactive "sWord:")
>>> (switch-to-buffer "dict.txt")
>>> (re-search-forward (concat "^" word)
>>> (let ((text (buffer-substring (point) ;; let isn't in re-search-forward
>>> is it?
>>> (progn (end-of-line)
>>> (point)))))
>>> (other-buffer)
>>> (insert text)))
>>>
>>
>> Thanks, Barry. Am I right to assume that it's not possible somewhere in
>> that (let.. form to do interactive highlighting of just the part of the
>> definition that is of interest? There are usually many different foreign
>> language words associated with the English one at the beginning of the
>> line in dict.txt.
>
> Sure you can. I didn't see anything like that in the functions you
> asked to combine.
>
Okay, how would that be done? Also, what was Stefan complaining about
where he wanted to use set-buffer? The only thing suspicious I saw was
that the re-search-forward needed a close paren. My wish for interactive
selection in dict.txt was expressed in the comment:
;; in dict.txt buffer, mark stretch of text here interactively for
;;;copying back to channel buffer
Now I think other-buffer needs two more arguments in case it's visible
(other-buffer nil t)
Is that right or does the first argument have to be a string?
next prev parent reply other threads:[~2011-05-07 3:34 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-05 23:47 Combining two short lisp routines B. T. Raven
2011-05-06 5:45 ` Barry Margolin
2011-05-06 13:14 ` B. T. Raven
2011-05-06 21:51 ` Barry Margolin
2011-05-07 3:34 ` B. T. Raven [this message]
2011-05-07 7:23 ` Barry Margolin
2011-05-07 22:37 ` B. T. Raven
2011-05-06 14:04 ` Stefan Monnier
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=hNSdnWZJ_JJSIFnQnZ2dnUVZ_oWdnZ2d@sysmatrix.net \
--to=nihil@nihilo.net \
--cc=help-gnu-emacs@gnu.org \
/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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.