* Setting value 1 when matching two strings @ 2022-10-16 15:51 Heime via Users list for the GNU Emacs text editor 2022-10-16 16:23 ` Dr Rainer Woitok 0 siblings, 1 reply; 19+ messages in thread From: Heime via Users list for the GNU Emacs text editor @ 2022-10-16 15:51 UTC (permalink / raw) To: help-gnu-emacs@gnu.org This code sets "isel" to value "1" if "actm" matches "vert". I want to extend this so that value "1" is also set when "actm" matches "horz". (let ( (isel (if (equal "vert" actm) 1 -1)) ) Thus when "actm" matches "vert" or "horz", then "isel" has value "1". Otherwise "isel" has value "-1". ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Setting value 1 when matching two strings 2022-10-16 15:51 Setting value 1 when matching two strings Heime via Users list for the GNU Emacs text editor @ 2022-10-16 16:23 ` Dr Rainer Woitok 2022-10-16 16:33 ` Heime 2022-10-16 20:21 ` Heime 0 siblings, 2 replies; 19+ messages in thread From: Dr Rainer Woitok @ 2022-10-16 16:23 UTC (permalink / raw) To: Heime; +Cc: help-gnu-emacs@gnu.org Heime, On Sunday, 2022-10-16 15:51:44 +0000, you wrote: > This code sets "isel" to value "1" if "actm" matches "vert". I want to extend this so that value "1" > is also set when "actm" matches "horz". > > (let ( (isel (if (equal "vert" actm) 1 -1)) ) > > Thus when "actm" matches "vert" or "horz", then "isel" has value "1". Otherwise "isel" has value "-1". In case you don't really need "vert" as a string but could as well use the symbol 'vert, you could use "eq" rather than "equal". And if you want two or more alternatives, you could use (member actm '("vert" "horz")) or (memq actm '(vert horz)) Sincerely, Rainer ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Setting value 1 when matching two strings 2022-10-16 16:23 ` Dr Rainer Woitok @ 2022-10-16 16:33 ` Heime 2022-10-16 20:21 ` Heime 1 sibling, 0 replies; 19+ messages in thread From: Heime @ 2022-10-16 16:33 UTC (permalink / raw) To: Dr Rainer Woitok; +Cc: help-gnu-emacs@gnu.org ------- Original Message ------- On Sunday, October 16th, 2022 at 4:23 PM, Dr Rainer Woitok <rainer.woitok@gmail.com> wrote: > Heime, > > On Sunday, 2022-10-16 15:51:44 +0000, you wrote: > > > This code sets "isel" to value "1" if "actm" matches "vert". I want to extend this so that value "1" > > is also set when "actm" matches "horz". > > > > (let ( (isel (if (equal "vert" actm) 1 -1)) ) > > > > Thus when "actm" matches "vert" or "horz", then "isel" has value "1". Otherwise "isel" has value "-1". > > > In case you don't really need "vert" as a string but could as well use > the symbol 'vert, you could use "eq" rather than "equal". And if you > want two or more alternatives, you could use > > (member actm '("vert" "horz")) > > or > > (memq actm '(vert horz)) > > Sincerely, > Rainer Am actually using "completing-read". Thusly, to follow your strategy I have to convert to symbols after using "completing-read". What conversion approach would you have in mind? (interactive (list (let ( (cseq '("vert" "partial-disab" "disable" "horz")) ) (completing-read "icomplt: " cseq nil t "horz")))) ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Setting value 1 when matching two strings 2022-10-16 16:23 ` Dr Rainer Woitok 2022-10-16 16:33 ` Heime @ 2022-10-16 20:21 ` Heime 2022-10-16 21:23 ` [External] : " Drew Adams 1 sibling, 1 reply; 19+ messages in thread From: Heime @ 2022-10-16 20:21 UTC (permalink / raw) To: Dr Rainer Woitok; +Cc: help-gnu-emacs@gnu.org ------- Original Message ------- On Sunday, October 16th, 2022 at 4:23 PM, Dr Rainer Woitok <rainer.woitok@gmail.com> wrote: > Heime, > > On Sunday, 2022-10-16 15:51:44 +0000, you wrote: > > > This code sets "isel" to value "1" if "actm" matches "vert". I want to extend this so that value "1" > > is also set when "actm" matches "horz". > > > > (let ( (isel (if (equal "vert" actm) 1 -1)) ) > > > > Thus when "actm" matches "vert" or "horz", then "isel" has value "1". Otherwise "isel" has value "-1". > > In case you don't really need "vert" as a string but could as well use > the symbol 'vert, you could use "eq" rather than "equal". Have seen that with symbols there is no difference between (eq actm 'go) and (equal actm 'go). Although the recommendation and actual use has always been in support for (eq actm 'go). > And if you want two or more alternatives, you could use > > (member actm '("vert" "horz")) > > or > > (memq actm '(vert horz)) > > Sincerely, > Rainer ^ permalink raw reply [flat|nested] 19+ messages in thread
* RE: [External] : Re: Setting value 1 when matching two strings 2022-10-16 20:21 ` Heime @ 2022-10-16 21:23 ` Drew Adams 2022-10-16 22:33 ` Heime 0 siblings, 1 reply; 19+ messages in thread From: Drew Adams @ 2022-10-16 21:23 UTC (permalink / raw) To: Heime, Dr Rainer Woitok; +Cc: help-gnu-emacs@gnu.org If two objects are `eq' then they are also `equal'. (`equal' tests with `eq' as the first test it tries. If that succeeds it returns `t', else it tries other tests.) All of this is so clearly explained in the Elisp manual. There's really no reason not to consult it. Even laziness isn't a reason. Just `i eq RET' takes you directly to node `Equality Predicates', which tells you all you need to know, and likely in better ways than you'll find here. Which is quicker and easier, `i eq RET' or sending a mail to help-gnu-emacs@gnu.org and hoping for a reply that makes sense to you? Do yourself a favor: Ask Emacs. ^ permalink raw reply [flat|nested] 19+ messages in thread
* RE: [External] : Re: Setting value 1 when matching two strings 2022-10-16 21:23 ` [External] : " Drew Adams @ 2022-10-16 22:33 ` Heime 2022-10-16 23:16 ` Michael Heerdegen ` (2 more replies) 0 siblings, 3 replies; 19+ messages in thread From: Heime @ 2022-10-16 22:33 UTC (permalink / raw) To: Drew Adams; +Cc: Dr Rainer Woitok, help-gnu-emacs@gnu.org ------- Original Message ------- On Sunday, October 16th, 2022 at 9:23 PM, Drew Adams <drew.adams@oracle.com> wrote: > If two objects are `eq' then they are also` equal'. > > (`equal' tests with` eq' as the first test it tries. > If that succeeds it returns `t', else it tries other tests.) All of this is so clearly explained in the Elisp manual. There's really no reason not to consult it. Even laziness isn't a reason. Just` i eq RET' takes > you directly to node `Equality Predicates', which tells you all you need to know, and likely in better ways than you'll find here. Which is quicker and easier,` i eq RET' or sending > a mail to help-gnu-emacs@gnu.org and hoping for a > reply that makes sense to you? > > Do yourself a favor: Ask Emacs. I do not know what exactly I have to do to use your suggestion `i eq RET'. Have been looking at the function documentation with "C-h f" but it is not very useful from the operational point of view. Have only started this week and have a month on the task. Thank you far the guidance. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [External] : Re: Setting value 1 when matching two strings 2022-10-16 22:33 ` Heime @ 2022-10-16 23:16 ` Michael Heerdegen 2022-10-16 23:21 ` Heime 2022-10-17 0:42 ` Drew Adams 2022-10-17 4:31 ` Jean Louis 2 siblings, 1 reply; 19+ messages in thread From: Michael Heerdegen @ 2022-10-16 23:16 UTC (permalink / raw) To: help-gnu-emacs Heime <heimeborgia@protonmail.com> writes: > I do not know what exactly I have to do to use your suggestion `i eq RET'. It's an Info command. Michael. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [External] : Re: Setting value 1 when matching two strings 2022-10-16 23:16 ` Michael Heerdegen @ 2022-10-16 23:21 ` Heime 2022-10-16 23:39 ` Michael Heerdegen 0 siblings, 1 reply; 19+ messages in thread From: Heime @ 2022-10-16 23:21 UTC (permalink / raw) To: Michael Heerdegen; +Cc: help-gnu-emacs ------- Original Message ------- On Sunday, October 16th, 2022 at 11:16 PM, Michael Heerdegen <michael_heerdegen@web.de> wrote: > Heime heimeborgia@protonmail.com writes: > > > I do not know what exactly I have to do to use your suggestion `i eq RET'. > > > It's an Info command. > > Michael. You always fall short of giving enough information to use it. It is not amusing at all. Pathetic. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [External] : Re: Setting value 1 when matching two strings 2022-10-16 23:21 ` Heime @ 2022-10-16 23:39 ` Michael Heerdegen 2022-10-17 0:17 ` Heime 0 siblings, 1 reply; 19+ messages in thread From: Michael Heerdegen @ 2022-10-16 23:39 UTC (permalink / raw) To: help-gnu-emacs Heime <heimeborgia@protonmail.com> writes: > You always fall short of giving enough information to use it. It is > not amusing at all. Pathetic. You really did not yet even have one single look into the manual? You open the GNU Emacs Lisp Reference Manual in the Gnu Emacs info viewer, and type i eq RET, key by key, literally. Do you know how to open that manual? Michael. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [External] : Re: Setting value 1 when matching two strings 2022-10-16 23:39 ` Michael Heerdegen @ 2022-10-17 0:17 ` Heime 2022-10-17 0:41 ` Drew Adams 2022-10-17 0:42 ` Michael Heerdegen 0 siblings, 2 replies; 19+ messages in thread From: Heime @ 2022-10-17 0:17 UTC (permalink / raw) To: Michael Heerdegen; +Cc: help-gnu-emacs Sent with Proton Mail secure email. ------- Original Message ------- On Sunday, October 16th, 2022 at 11:39 PM, Michael Heerdegen <michael_heerdegen@web.de> wrote: > Heime heimeborgia@protonmail.com writes: > > > You always fall short of giving enough information to use it. It is > > not amusing at all. Pathetic. > > > You really did not yet even have one single look into the manual? > > You open the GNU Emacs Lisp Reference Manual in the Gnu Emacs info > viewer, and type i eq RET, key by key, literally. > > Do you know how to open that manual? > > Michael. Have gone through "An Introduction to Programming in Emacs Lisp" but cannot assimilate all that. If there was some condensed article about important tools for the elisp programmer, and a crash course on how to use them, that would be very helpful. What I did was look at the emacs website displaying everything on one web page. The Gnu Emacs Info Viewer, is that when you type "info" at the shell command line? ^ permalink raw reply [flat|nested] 19+ messages in thread
* RE: [External] : Re: Setting value 1 when matching two strings 2022-10-17 0:17 ` Heime @ 2022-10-17 0:41 ` Drew Adams 2022-10-17 0:57 ` Michael Heerdegen 2022-10-17 0:42 ` Michael Heerdegen 1 sibling, 1 reply; 19+ messages in thread From: Drew Adams @ 2022-10-17 0:41 UTC (permalink / raw) To: Heime, Michael Heerdegen; +Cc: help-gnu-emacs@gnu.org > What I did was look at the emacs website displaying > everything on one web page. The Gnu Emacs Info Viewer, > is that when you type "info" at the shell command line? I recommend you stay in Emacs and ask Emacs. All of the Emacs doc - all of its (and other) manuals are available in Emacs. `C-h i' takes you to this wonderful world. There you'll find "An Introduction to Programming in Emacs Lisp" and all the rest. The external Info viewer you mention is similar, but the Info inside Emacs is superior - because it's inside Emacs. You have all of Emacs and its help system ready to hand while you use Info inside Emacs. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [External] : Re: Setting value 1 when matching two strings 2022-10-17 0:41 ` Drew Adams @ 2022-10-17 0:57 ` Michael Heerdegen 2022-10-17 1:06 ` Drew Adams 0 siblings, 1 reply; 19+ messages in thread From: Michael Heerdegen @ 2022-10-17 0:57 UTC (permalink / raw) To: help-gnu-emacs Drew Adams <drew.adams@oracle.com> writes: > `C-h i' takes you to this wonderful world. I am _very_ thankful that you introduce an optimistic view point. It is actually fun to browse the Info pages and have such a cool tool available also for browsing documentation of other programs. Michael. ^ permalink raw reply [flat|nested] 19+ messages in thread
* RE: [External] : Re: Setting value 1 when matching two strings 2022-10-17 0:57 ` Michael Heerdegen @ 2022-10-17 1:06 ` Drew Adams 0 siblings, 0 replies; 19+ messages in thread From: Drew Adams @ 2022-10-17 1:06 UTC (permalink / raw) To: Michael Heerdegen, help-gnu-emacs@gnu.org > It is actually fun to browse the Info pages and have such a cool > tool available also for browsing documentation of other programs. Fun it is. Other UIs should let you navigate etc. like Info does. That's sorely missed by anyone used who's been blessed by Info. Some UIs have a similar structure - decades after it was provided in Info (standalone & Emacs). But they generally don't let you get around using the keyboard. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [External] : Re: Setting value 1 when matching two strings 2022-10-17 0:17 ` Heime 2022-10-17 0:41 ` Drew Adams @ 2022-10-17 0:42 ` Michael Heerdegen 2022-10-17 1:40 ` Christopher Dimech 2022-10-17 2:17 ` Heime 1 sibling, 2 replies; 19+ messages in thread From: Michael Heerdegen @ 2022-10-17 0:42 UTC (permalink / raw) To: help-gnu-emacs Heime <heimeborgia@protonmail.com> writes: > Have gone through "An Introduction to Programming in Emacs Lisp" but cannot > assimilate all that. That's good. Nobody can assimilate that all at once. You can leave out lots of things that are currently not important to you. > If there was some condensed article about important tools for the > elisp programmer, and a crash course on how to use them, that would be > very helpful. Dunno if that's possible. Depends too much on the background of the reader. And there is a lot of important stuff to know. I doubt it fits in a condensed article, and I doubt even more that you would write good programs after reading that. It would be a trap. The manual is not that long because the authors were bad, it's full of important things. If you simplify, no matter where, you'll later regret it. Waste a lot of time, and still have to read all of it. > What I did was look at the emacs website displaying everything on one > web page. The Gnu Emacs Info Viewer, is that when you type "info" at > the shell command line? The command line program "info" is a reader for the Info documentation for the command line. Emacs has its own integrated and very nice Info reader: type C-h i. Oh, now I see that you only read the introduction, not the Elisp reference manual. I suggest to have a look at that one, too. Yeah sorry if we sometimes sound rude, but all shortcuts are traps, _all_ - sorry. It's hard to defer what one actually wants to do and read that boring stuff instead. I guess all of us tried some shortcuts. We all wasted lots of time more or less. Michael. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [External] : Re: Setting value 1 when matching two strings 2022-10-17 0:42 ` Michael Heerdegen @ 2022-10-17 1:40 ` Christopher Dimech 2022-10-17 1:46 ` Michael Heerdegen 2022-10-17 2:17 ` Heime 1 sibling, 1 reply; 19+ messages in thread From: Christopher Dimech @ 2022-10-17 1:40 UTC (permalink / raw) To: Michael Heerdegen; +Cc: help-gnu-emacs > Sent: Monday, October 17, 2022 at 12:42 PM > From: "Michael Heerdegen" <michael_heerdegen@web.de> > To: help-gnu-emacs@gnu.org > Subject: Re: [External] : Re: Setting value 1 when matching two strings > > Heime <heimeborgia@protonmail.com> writes: > > > Have gone through "An Introduction to Programming in Emacs Lisp" but cannot > > assimilate all that. > > That's good. Nobody can assimilate that all at once. You can leave out > lots of things that are currently not important to you. > > > If there was some condensed article about important tools for the > > elisp programmer, and a crash course on how to use them, that would be > > very helpful. > > Dunno if that's possible. Depends too much on the background of the > reader. And there is a lot of important stuff to know. I doubt it fits > in a condensed article, and I doubt even more that you would write good > programs after reading that. It would be a trap. The manual is not > that long because the authors were bad, it's full of important things. > If you simplify, no matter where, you'll later regret it. Waste a lot > of time, and still have to read all of it. You are quite correct. What is needed is a tool that gives you a collection of possible traverses of the manual for what you need, then goes on organising them for you, and displays them. That would be the next emacs breakthrough. In many of the national labs, people don't bother organising things anymore. It will take more than a lifetime. Rather it is automated tools that traverse through all that. The problem is that one will miss a lot of things nevertheless. So it is simply a matter of luck. Have found very few people willing to take the time to understand the fundamental parts. > > What I did was look at the emacs website displaying everything on one > > web page. The Gnu Emacs Info Viewer, is that when you type "info" at > > the shell command line? > > The command line program "info" is a reader for the Info documentation > for the command line. Emacs has its own integrated and very nice Info > reader: type C-h i. > > Oh, now I see that you only read the introduction, not the Elisp > reference manual. I suggest to have a look at that one, too. > > Yeah sorry if we sometimes sound rude, but all shortcuts are traps, > _all_ - sorry. It's hard to defer what one actually wants to do and > read that boring stuff instead. I guess all of us tried some shortcuts. > We all wasted lots of time more or less. > > Michael. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [External] : Re: Setting value 1 when matching two strings 2022-10-17 1:40 ` Christopher Dimech @ 2022-10-17 1:46 ` Michael Heerdegen 0 siblings, 0 replies; 19+ messages in thread From: Michael Heerdegen @ 2022-10-17 1:46 UTC (permalink / raw) To: help-gnu-emacs Christopher Dimech <dimech@gmx.com> writes: > You are quite correct. What is needed is a tool that gives you a > collection of possible traverses of the manual for what you need, then > goes on organising them for you, and displays them. That would be the > next emacs breakthrough. All the Emacs info browsing commands and possibilities already help a bit doing that manually, though. The Elisp reference manual is a reference, first and foremost. As that, discoverability of what is offered in it is quite good. Michael. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [External] : Re: Setting value 1 when matching two strings 2022-10-17 0:42 ` Michael Heerdegen 2022-10-17 1:40 ` Christopher Dimech @ 2022-10-17 2:17 ` Heime 1 sibling, 0 replies; 19+ messages in thread From: Heime @ 2022-10-17 2:17 UTC (permalink / raw) To: Michael Heerdegen; +Cc: help-gnu-emacs ------- Original Message ------- On Monday, October 17th, 2022 at 12:42 AM, Michael Heerdegen <michael_heerdegen@web.de> wrote: > Heime heimeborgia@protonmail.com writes: > > > Have gone through "An Introduction to Programming in Emacs Lisp" but cannot > > assimilate all that. > > > That's good. Nobody can assimilate that all at once. You can leave out > lots of things that are currently not important to you. > > > If there was some condensed article about important tools for the > > elisp programmer, and a crash course on how to use them, that would be > > very helpful. > > > Dunno if that's possible. Depends too much on the background of the > reader. And there is a lot of important stuff to know. I doubt it fits > in a condensed article, and I doubt even more that you would write good > programs after reading that. It would be a trap. The manual is not > that long because the authors were bad, it's full of important things. > If you simplify, no matter where, you'll later regret it. Waste a lot > of time, and still have to read all of it. > > > What I did was look at the emacs website displaying everything on one > > web page. The Gnu Emacs Info Viewer, is that when you type "info" at > > the shell command line? > > > The command line program "info" is a reader for the Info documentation > for the command line. Emacs has its own integrated and very nice Info > reader: type C-h i. > > Oh, now I see that you only read the introduction, not the Elisp > reference manual. I suggest to have a look at that one, too. > > Yeah sorry if we sometimes sound rude, but all shortcuts are traps, > all - sorry. It's hard to defer what one actually wants to do and > read that boring stuff instead. I guess all of us tried some shortcuts. > We all wasted lots of time more or less. > > Michael. I am an impatient person, and in the habit of running doing a job, which can blow people's fuses. Great that things have settled down now. ^ permalink raw reply [flat|nested] 19+ messages in thread
* RE: [External] : Re: Setting value 1 when matching two strings 2022-10-16 22:33 ` Heime 2022-10-16 23:16 ` Michael Heerdegen @ 2022-10-17 0:42 ` Drew Adams 2022-10-17 4:31 ` Jean Louis 2 siblings, 0 replies; 19+ messages in thread From: Drew Adams @ 2022-10-17 0:42 UTC (permalink / raw) To: Heime; +Cc: Dr Rainer Woitok, help-gnu-emacs@gnu.org > > `i eq RET' ... Do yourself a favor: Ask Emacs. > > I do not know what exactly I have to do to use > your suggestion `i eq RET'. Have been looking > at the function documentation with "C-h f" but > it is not very useful from the operational point > of view. Menubar menu: Help > More Manuals > Emacs Lisp Reference Or just `C-h i m el RET'. That puts you in the `Emacs Lisp manual'. Menubar menu: Info > Index > Lookup a String Or just `i'. Then `eq RET'. That goes to the first manual node referenced by the first index entry that matches "eq". > Have only started this week and have a month > on the task. Thank you far the guidance. You're welcome. ___ You'll also do yourself a favor if you read some of the Info manual: Help > More Manuals > All Other Manuals (Info) Then `m in RET'. Or just `C-h i m in RET'. That puts you in the Info manual, which tells you how to use Info, the hypertext manuals UI. The Info menu also gives you some navigation help etc. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [External] : Re: Setting value 1 when matching two strings 2022-10-16 22:33 ` Heime 2022-10-16 23:16 ` Michael Heerdegen 2022-10-17 0:42 ` Drew Adams @ 2022-10-17 4:31 ` Jean Louis 2 siblings, 0 replies; 19+ messages in thread From: Jean Louis @ 2022-10-17 4:31 UTC (permalink / raw) To: Heime; +Cc: Drew Adams, Dr Rainer Woitok, help-gnu-emacs@gnu.org * Heime <heimeborgia@protonmail.com> [2022-10-17 01:37]: > > Do yourself a favor: Ask Emacs. > > I do not know what exactly I have to do to use your suggestion `i eq RET'. > Have been looking at the function documentation with "C-h f" but it is not > very useful from the operational point of view. > > Have only started this week and have a month on the task. Thank you far the guidance. While keep asking Emacs feel free to keep asking here. Mailing list is for human interaction, as Emacs has no idea (when you are asking it) if you understood the information or not. But we do. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2022-10-17 4:31 UTC | newest] Thread overview: 19+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-10-16 15:51 Setting value 1 when matching two strings Heime via Users list for the GNU Emacs text editor 2022-10-16 16:23 ` Dr Rainer Woitok 2022-10-16 16:33 ` Heime 2022-10-16 20:21 ` Heime 2022-10-16 21:23 ` [External] : " Drew Adams 2022-10-16 22:33 ` Heime 2022-10-16 23:16 ` Michael Heerdegen 2022-10-16 23:21 ` Heime 2022-10-16 23:39 ` Michael Heerdegen 2022-10-17 0:17 ` Heime 2022-10-17 0:41 ` Drew Adams 2022-10-17 0:57 ` Michael Heerdegen 2022-10-17 1:06 ` Drew Adams 2022-10-17 0:42 ` Michael Heerdegen 2022-10-17 1:40 ` Christopher Dimech 2022-10-17 1:46 ` Michael Heerdegen 2022-10-17 2:17 ` Heime 2022-10-17 0:42 ` Drew Adams 2022-10-17 4:31 ` Jean Louis
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.