Re: Dreaming of new generation IDE

2010-03-15 Thread catonano
Hello again, people On Feb 11, 6:30 pm, Francis Carr coldtort...@gmail.com wrote: I can't believe the code editing situation today is in a such sorry state. I can't believe an old coder is feeling so sorry for himself. Ok, I'm feeling sorry; still, I think I made a point. Today, I

Re: Dreaming of new generation IDE

2010-02-12 Thread Aahz
In article mailman.2085.1265546107.28905.python-l...@python.org, Steve Holden st...@holdenweb.com wrote: bartc wrote: Arnaud Delobelle arno...@googlemail.com wrote in message news:m28wb6ypfs@googlemail.com... Gabriel Genellina gagsl-...@yahoo.com.ar writes: Note the *literal* part. If

Re: Dreaming of new generation IDE

2010-02-12 Thread Aahz
In article 4b743340$0$20738$426a7...@news.free.fr, Bruno Desthuilliers bruno.42.desthuilli...@websiteburo.invalid wrote: Ever read worst is better ?-) Nope -- maybe you mean worse is better? http://www.jwz.org/doc/worse-is-better.html (Nitpicking because you need the correct term to search.)

Re: Dreaming of new generation IDE

2010-02-11 Thread Bruno Desthuilliers
catonano a écrit : (snip) Today, I tried to understand the twisted.web.client code and I found 3 methods I couldn't find by who were called. I asked on the mailing list and they suggested me where they were called and that the tool for such thing is grep. So, you grep, you get a list of files,

Re: Dreaming of new generation IDE

2010-02-11 Thread Francis Carr
I can't believe the code editing situation today is in a such sorry state. I can't believe an old coder is feeling so sorry for himself. Today, I tried to understand the twisted.web.client code and I found 3 methods I couldn't find by who were called. I asked on the mailing list and they

Re: Dreaming of new generation IDE

2010-02-10 Thread Fuzzyman
On Feb 3, 7:38 pm, Phlip phlip2...@gmail.com wrote: On Feb 3, 10:57 am, Adam Tauno Williams awill...@opengroupware.us wrote: Current editors suck because they can't see into the code and browse it - unless it's so statically typed it's painful. ?  I edit Python in MonoDevelop  2.2;  

Re: Dreaming of new generation IDE

2010-02-10 Thread catonano
Vladimir, On Feb 3, 12:10 pm, Vladimir Ignatov kmis...@gmail.com wrote: Hello, I am sitting here for quite some time, but usually keep silent ;-) I Finally I develop a feeling that strong instrumentation / tools can bring us the best of two worlds. That I am dreaming on is an absolute new

Re: Dreaming of new generation IDE

2010-02-10 Thread Steve Holden
catonano wrote: [... much wishing for the good old day of SmallTalk ...] Today, I tried to understand the twisted.web.client code and I found 3 methods I couldn't find by who were called. I asked on the mailing list and they suggested me where they were called and that the tool for such

Re: Dreaming of new generation IDE

2010-02-10 Thread alex23
catonano caton...@gmail.com wrote: You know what I'm doing now ? I'm drawing the map of twisted.web.client on a paper with a pencil :-( You're a programmer. Why are you complaining about the problem instead of endeavouring to solve it? -- http://mail.python.org/mailman/listinfo/python-list

Re: Dreaming of new generation IDE

2010-02-07 Thread Steve Holden
bartc wrote: Arnaud Delobelle arno...@googlemail.com wrote in message news:m28wb6ypfs@googlemail.com... Gabriel Genellina gagsl-...@yahoo.com.ar writes: En Fri, 05 Feb 2010 19:22:39 -0300, bartc ba...@freeuk.com escribió: Steve Holden st...@holdenweb.com wrote in message

Re: Dreaming of new generation IDE

2010-02-06 Thread Arnaud Delobelle
Gabriel Genellina gagsl-...@yahoo.com.ar writes: En Fri, 05 Feb 2010 19:22:39 -0300, bartc ba...@freeuk.com escribió: Steve Holden st...@holdenweb.com wrote in message news:mailman.1998.1265399766.28905.python-l...@python.org... Arnaud Delobelle wrote: Robert Kern robert.k...@gmail.com

Re: Dreaming of new generation IDE

2010-02-06 Thread bartc
Arnaud Delobelle arno...@googlemail.com wrote in message news:m28wb6ypfs@googlemail.com... Gabriel Genellina gagsl-...@yahoo.com.ar writes: En Fri, 05 Feb 2010 19:22:39 -0300, bartc ba...@freeuk.com escribió: Steve Holden st...@holdenweb.com wrote in message

Re: Dreaming of new generation IDE

2010-02-06 Thread Steven D'Aprano
On Sun, 07 Feb 2010 01:34:14 +, bartc wrote: For a real-world example, it means instead of having a room with a light-switch in it, if I *know* I want the light on or off, I should have two rooms: one with the light permanently on, and one with it permanently off, and just walk into the

Re: Dreaming of new generation IDE

2010-02-06 Thread Alf P. Steinbach
* Steven D'Aprano: On Sun, 07 Feb 2010 01:34:14 +, bartc wrote: For a real-world example, it means instead of having a room with a light-switch in it, if I *know* I want the light on or off, I should have two rooms: one with the light permanently on, and one with it permanently off, and

Re: Dreaming of new generation IDE

2010-02-06 Thread Gabriel Genellina
En Sat, 06 Feb 2010 22:34:14 -0300, bartc ba...@freeuk.com escribió: Arnaud Delobelle arno...@googlemail.com wrote in message news:m28wb6ypfs@googlemail.com... Gabriel Genellina gagsl-...@yahoo.com.ar writes: Note the *literal* part. If you (the programmer) is likely to know the

Re: Dreaming of new generation IDE

2010-02-05 Thread Arnaud Delobelle
Robert Kern robert.k...@gmail.com writes: I prefer Guido's formulation (which, naturally, I can't find a direct quote for right now): if you expect that a boolean argument is only going to take *literal* True or False, then it should be split into two functions. So rather than three boolean

Re: Dreaming of new generation IDE

2010-02-05 Thread Steve Holden
Arnaud Delobelle wrote: Robert Kern robert.k...@gmail.com writes: I prefer Guido's formulation (which, naturally, I can't find a direct quote for right now): if you expect that a boolean argument is only going to take *literal* True or False, then it should be split into two functions.

Re: Dreaming of new generation IDE

2010-02-05 Thread bartc
Steve Holden st...@holdenweb.com wrote in message news:mailman.1998.1265399766.28905.python-l...@python.org... Arnaud Delobelle wrote: Robert Kern robert.k...@gmail.com writes: I prefer Guido's formulation (which, naturally, I can't find a direct quote for right now): if you expect that a

Re: Dreaming of new generation IDE

2010-02-05 Thread Robert Kern
On 2010-02-05 16:22 PM, bartc wrote: Steve Holden st...@holdenweb.com wrote in message news:mailman.1998.1265399766.28905.python-l...@python.org... Arnaud Delobelle wrote: Robert Kern robert.k...@gmail.com writes: I prefer Guido's formulation (which, naturally, I can't find a direct quote

Re: Dreaming of new generation IDE

2010-02-05 Thread Steve Holden
bartc wrote: Steve Holden st...@holdenweb.com wrote in message news:mailman.1998.1265399766.28905.python-l...@python.org... Arnaud Delobelle wrote: Robert Kern robert.k...@gmail.com writes: I prefer Guido's formulation (which, naturally, I can't find a direct quote for right now): if you

Re: Dreaming of new generation IDE

2010-02-05 Thread Steven D'Aprano
On Fri, 05 Feb 2010 22:22:39 +, bartc wrote: Steve Holden st...@holdenweb.com wrote in message news:mailman.1998.1265399766.28905.python-l...@python.org... Arnaud Delobelle wrote: Robert Kern robert.k...@gmail.com writes: I prefer Guido's formulation (which, naturally, I can't find a

Re: Dreaming of new generation IDE

2010-02-05 Thread Gabriel Genellina
En Fri, 05 Feb 2010 19:22:39 -0300, bartc ba...@freeuk.com escribió: Steve Holden st...@holdenweb.com wrote in message news:mailman.1998.1265399766.28905.python-l...@python.org... Arnaud Delobelle wrote: Robert Kern robert.k...@gmail.com writes: I prefer Guido's formulation (which,

Re: Dreaming of new generation IDE

2010-02-04 Thread purui
This is obvious even in the Python documentation itself where one frequently asks oneself Uhh... so what is parameter X supposed to be... a string... a list... ? That is partially why I created this search engine for python, to see what parameters other people feed in. http://nullege.com/

Re: Dreaming of new generation IDE

2010-02-04 Thread Vladimir Ignatov
That is partially why I created this search engine for python, to see what parameters other people feed in. http://nullege.com/ Thank you for excellent effort! I found it very useful and start using it on almost everyday basis. It's much simple to learn from real live examples. Vladimir

Re: Dreaming of new generation IDE

2010-02-04 Thread Vladimir Ignatov
http://sourceforge.net/mailarchive/message.php?msg_name=9c768dc61001121642t5bd1a7ddmd1fe9e088e1d9...@mail.gmail.com Thanks a lot! That is a great reference (a must read for everybody interested). Reading just this: Internally at Google we have a language-neutral representation shared by all our

Re: Dreaming of new generation IDE

2010-02-03 Thread Paul Rubin
Vladimir Ignatov kmis...@gmail.com writes: I notice however, that maintaining existing/older python code is may be not so enjoyable task. It may be even harder than supporting old code written in some type of static languages (like Java or C++). Surely dynamic nature of python comes with

Re: Dreaming of new generation IDE

2010-02-03 Thread Adam Tauno Williams
On Wed, 2010-02-03 at 14:10 +0300, Vladimir Ignatov wrote: Hello, I am sitting here for quite some time, but usually keep silent ;-) I use Python since 2003 both professionally and for my hobby projects and love it a much. I notice however, that maintaining existing/older python code is may

Re: Dreaming of new generation IDE

2010-02-03 Thread Stefan Behnel
Paul Rubin, 03.02.2010 14:07: Instead of current text-oriented IDEs, it should be a database-centric and resemble current CAD systems I've never used a current CAD system, so I can't make any sense of this. I don't see how databases would help. Just like they help in current IDEs to

Re: Dreaming of new generation IDE

2010-02-03 Thread Stefan Behnel
Adam Tauno Williams, 03.02.2010 14:18: This is obvious even in the Python documentation itself where one frequently asks oneself Uhh... so what is parameter X supposed to be... a string... a list... ? Not knocking Python; Python is great. I maintain a rapidly growing Python code base.

Re: Dreaming of new generation IDE

2010-02-03 Thread Jean-Michel Pichavant
Adam Tauno Williams wrote: Yes, it certainly does. Not that you'll get many Pythonistas to confess to that fact. Somehow those who brag about the readability and expressiveness of source code just cannot admit that: class.method(sting name, int count) - is *obviously* more expressive than

Re: Dreaming of new generation IDE

2010-02-03 Thread Vladimir Ignatov
This is obvious even in the Python documentation itself where one frequently asks oneself Uhh... so what is parameter X supposed to be... a string... a list... ? Exactly. Often I don't need to know the exact type, but to figure out that kind of type it is. should be a database-centric and

Re: Dreaming of new generation IDE

2010-02-03 Thread Marco Salden
On Feb 3, 12:10 pm, Vladimir Ignatov kmis...@gmail.com wrote: Hello, I am sitting here for quite some time, but usually keep silent ;-) I use Python since 2003 both professionally and for my hobby projects and love it a much. I notice however, that maintaining existing/older python code is

Re: Dreaming of new generation IDE

2010-02-03 Thread Paul Rubin
Jean-Michel Pichavant jeanmic...@sequans.com writes: class.method(string name, int count): Return the cap'tain's age. name: a string giving the name of the cap'tain daughter count: an int giving the number of fingers left in the cap'tain right hand In python, attributes/parameters

Re: Dreaming of new generation IDE

2010-02-03 Thread Vladimir Ignatov
The maintenance thing may be true but for me that doesn't outweigh the clear benefits I get from using Python i.s.o. e.g. C++: the fact that I have much less code that is more compact and for me more directly readable is a clear advantage when doing maintance on code I didnt touch for a

Re: Dreaming of new generation IDE

2010-02-03 Thread Stef Mientki
Yes, it certainly does. Not that you'll get many Pythonistas to confess to that fact. Somehow those who brag about the readability and expressiveness of source code just cannot admit that: class.method(sting name, int count) - is *obviously* more expressive than - class.method(name,

Re: Dreaming of new generation IDE

2010-02-03 Thread David Cournapeau
On Wed, Feb 3, 2010 at 10:18 PM, Adam Tauno Williams awill...@opengroupware.us wrote: On Wed, 2010-02-03 at 14:10 +0300, Vladimir Ignatov wrote: Hello, I am sitting here for quite some time, but usually keep silent ;-) I use Python since 2003 both professionally and for my hobby projects and

Re: Dreaming of new generation IDE

2010-02-03 Thread Stef Mientki
Finally I develop a feeling that strong instrumentation / tools can bring us the best of two worlds. That I am dreaming on is an absolute new type/class of IDE suitable for Python and potentially for other dynamic-type languages. Instead of current text-oriented IDEs, it should be a

Re: Dreaming of new generation IDE

2010-02-03 Thread Adam Tauno Williams
On Wed, 2010-02-03 at 16:23 +0100, Stef Mientki wrote: Yes, it certainly does. Not that you'll get many Pythonistas to confess to that fact. Somehow those who brag about the readability and expressiveness of source code just cannot admit that:

Re: Dreaming of new generation IDE

2010-02-03 Thread Vladimir Ignatov
I don't see what the advantage of the use of a database is in a fairly linear hierarchical structure like python objects and modules. Imagine simple operation like method renaming in a simple dumb environment like text editor + grep. Now imagine how simple it can be if system knows all your

Re: Dreaming of new generation IDE

2010-02-03 Thread Stef Mientki
On 03-02-2010 16:48, Vladimir Ignatov wrote: I don't see what the advantage of the use of a database is in a fairly linear hierarchical structure like python objects and modules. Imagine simple operation like method renaming in a simple dumb environment like text editor + grep. Now

RE: Dreaming of new generation IDE

2010-02-03 Thread banibrata.du...@gmail.com
-Original Message- From: Vladimir Ignatov Sent: 03/02/2010 7:24:26 pm Subject: Re: Dreaming of new generation IDE This is obvious even in the Python documentation itself where one frequently asks oneself Uhh... so what is parameter X supposed to be... a string... a list... ? Exactly

Re: Dreaming of new generation IDE

2010-02-03 Thread Vladimir Ignatov
Imagine simple operation like method renaming in a simple dumb environment like text editor + grep. Now imagine how simple it can be if system knows all your identifiers and just regenerates relevant portions of text from internal database-alike representation. I think every IDE (not older

Re: Dreaming of new generation IDE

2010-02-03 Thread Phlip
On Feb 3, 3:10 am, Vladimir Ignatov kmis...@gmail.com wrote: Finally I develop a feeling that strong instrumentation / tools can bring us the best of two worlds. That I am dreaming on is an absolute new type/class of IDE suitable for Python and potentially for other dynamic-type languages.

Re: Dreaming of new generation IDE

2010-02-03 Thread John Bokma
Vladimir Ignatov kmis...@gmail.com writes: Finally I develop a feeling that strong instrumentation / tools can bring us the best of two worlds. That I am dreaming on is an absolute new type/class of IDE suitable for Python and potentially for other dynamic-type languages. Instead of current

Re: Dreaming of new generation IDE

2010-02-03 Thread Stef Mientki
On 03-02-2010 18:21, Vladimir Ignatov wrote: Imagine simple operation like method renaming in a simple dumb environment like text editor + grep. Now imagine how simple it can be if system knows all your identifiers and just regenerates relevant portions of text from internal database-alike

Re: Dreaming of new generation IDE

2010-02-03 Thread Adam Tauno Williams
On Wed, 2010-02-03 at 10:05 -0800, Phlip wrote: On Feb 3, 3:10 am, Vladimir Ignatov kmis...@gmail.com wrote: Finally I develop a feeling that strong instrumentation / tools can bring us the best of two worlds. That I am dreaming on is an absolute new type/class of IDE suitable for Python

Re: Dreaming of new generation IDE

2010-02-03 Thread Phlip
On Feb 3, 10:57 am, Adam Tauno Williams awill...@opengroupware.us wrote: Current editors suck because they can't see into the code and browse it - unless it's so statically typed it's painful. ?  I edit Python in MonoDevelop  2.2;  and I can browse my file, classes, etc...  So I don't know

Re: Dreaming of new generation IDE

2010-02-03 Thread John Bokma
Phlip phlip2...@gmail.com writes: On Feb 3, 10:57 am, Adam Tauno Williams awill...@opengroupware.us wrote: Current editors suck because they can't see into the code and browse it - unless it's so statically typed it's painful. ?  I edit Python in MonoDevelop  2.2;  and I can browse my

Re: Dreaming of new generation IDE

2010-02-03 Thread Robert
Vladimir Ignatov wrote: dynamic-type languages. Instead of current text-oriented IDEs, it should be a database-centric and resemble current CAD systems instead of being just fancy text editor. Source text should be an output product of that CAD and not a source material itself. can you sketch

Re: Dreaming of new generation IDE

2010-02-03 Thread Phlip
John Bokma wrote: my $x = ( 5, hello, sub {}, [], {} )[ int rand 5 ]; what's $x? The answer is: it depends. That's why my blog post advocated (as usual for me) developer tests. Then you either mock the rand, like all developers should, or you get what you pay for, and Principle of Least

Re: Dreaming of new generation IDE

2010-02-03 Thread John Bokma
Phlip phlip2...@gmail.com writes: John Bokma wrote: my $x = ( 5, hello, sub {}, [], {} )[ int rand 5 ]; what's $x? The answer is: it depends. That's why my blog post advocated (as usual for me) developer tests. Then you either mock the rand, like all developers should, or you get what

Re: Dreaming of new generation IDE

2010-02-03 Thread John Bokma
Robert no-s...@non-existing.invalid writes: Vladimir Ignatov wrote: dynamic-type languages. Instead of current text-oriented IDEs, it should be a database-centric and resemble current CAD systems instead of being just fancy text editor. Source text should be an output product of that CAD and

Re: Dreaming of new generation IDE

2010-02-03 Thread Vladimir Ignatov
can you sketch an example/use case more concretely? Sorry, I don't have anything written down. I just have some rough idea of implementation and some concrete features I would like to see in such system. For example: 1) Instant refactoring. No more needs for manual search/inspect/rename. Since

Re: Dreaming of new generation IDE

2010-02-03 Thread Robert Kern
On 2010-02-03 14:40 PM, Robert wrote: Vladimir Ignatov wrote: dynamic-type languages. Instead of current text-oriented IDEs, it should be a database-centric and resemble current CAD systems instead of being just fancy text editor. Source text should be an output product of that CAD and not a

Re: Dreaming of new generation IDE

2010-02-03 Thread Vladimir Ignatov
I guess Vladimir means what's called a structure editor. The (by me) aforementioned Synthesizer Generator is an example of such an editor (environment). Maybe. Yes, it kind of generator. It has (entered somehow) internal representation of target program. Then it generates code out of this

Re: Dreaming of new generation IDE

2010-02-03 Thread Steven D'Aprano
On Wed, 03 Feb 2010 08:18:40 -0500, Adam Tauno Williams wrote: On Wed, 2010-02-03 at 14:10 +0300, Vladimir Ignatov wrote: Hello, I am sitting here for quite some time, but usually keep silent ;-) I use Python since 2003 both professionally and for my hobby projects and love it a much. I

Re: Dreaming of new generation IDE

2010-02-03 Thread Steven D'Aprano
On Wed, 03 Feb 2010 06:42:52 -0800, Paul Rubin wrote: One nice trick with static types is if you change what the method does (even if its type signature doesn't change), you can rename the method: class.method2(string name, int count): # change 'method' to 'method2' and recompile

Re: Dreaming of new generation IDE

2010-02-03 Thread Steven D'Aprano
On Wed, 03 Feb 2010 18:48:12 +0300, Vladimir Ignatov wrote: Imagine simple operation like method renaming in a simple dumb environment like text editor + grep. Now imagine how simple it can be if system knows all your identifiers and just regenerates relevant portions of text from internal

Re: Dreaming of new generation IDE

2010-02-03 Thread Steven D'Aprano
On Wed, 03 Feb 2010 10:39:53 -0500, Adam Tauno Williams wrote: On Wed, 2010-02-03 at 16:23 +0100, Stef Mientki wrote: Yes, it certainly does. Not that you'll get many Pythonistas to confess to that fact. Somehow those who brag about the readability and

Re: Dreaming of new generation IDE

2010-02-03 Thread Paul Rubin
Steven D'Aprano ste...@remove.this.cybersource.com.au writes: and recompile your codebase. Every place in the code that called 'method' now gets a compile time undefined method error that you can examine to see if you need to update it. This is something you can't catch with unit tests

Re: Dreaming of new generation IDE

2010-02-03 Thread John Bokma
Vladimir Ignatov kmis...@gmail.com writes: I guess Vladimir means what's called a structure editor. The (by me) aforementioned Synthesizer Generator is an example of such an editor (environment). Maybe. Yes, it kind of generator. It has (entered somehow) internal representation of target

Re: Dreaming of new generation IDE

2010-02-03 Thread Terry Reedy
On 2/3/2010 8:18 AM, Adam Tauno Williams wrote: class.method(sting name, int count) - is *obviously* more expressive than - class.method(name, count) So write class.method(name:str, count:int)-return_type # 3.x if you really prefer. In spite of you disparagement of 'pythonistas', it

Re: Dreaming of new generation IDE

2010-02-03 Thread Robert Kern
On 2010-02-03 15:40 PM, Steven D'Aprano wrote: On Wed, 03 Feb 2010 06:42:52 -0800, Paul Rubin wrote: One nice trick with static types is if you change what the method does (even if its type signature doesn't change), you can rename the method: class.method2(string name, int count): #

Re: Dreaming of new generation IDE

2010-02-03 Thread Robert Kern
On 2010-02-03 15:37 PM, Steven D'Aprano wrote: On Wed, 03 Feb 2010 08:18:40 -0500, Adam Tauno Williams wrote: On Wed, 2010-02-03 at 14:10 +0300, Vladimir Ignatov wrote: Hello, I am sitting here for quite some time, but usually keep silent ;-) I use Python since 2003 both professionally and

Re: Dreaming of new generation IDE

2010-02-03 Thread Steven D'Aprano
On Wed, 03 Feb 2010 16:38:21 -0600, Robert Kern wrote: class.method(name, count) Obviously? I don't know about that. Being told that count is an int doesn't really help me -- it's obvious just from the name. In a well- written API, what else could it be? A bool. As in telling the method

Re: Dreaming of new generation IDE

2010-02-03 Thread Robert Kern
On 2010-02-03 18:01 PM, Steven D'Aprano wrote: On Wed, 03 Feb 2010 16:38:21 -0600, Robert Kern wrote: class.method(name, count) Obviously? I don't know about that. Being told that count is an int doesn't really help me -- it's obvious just from the name. In a well- written API, what else

Re: Dreaming of new generation IDE

2010-02-03 Thread Steve Holden
Vladimir Ignatov wrote: can you sketch an example/use case more concretely? Sorry, I don't have anything written down. I just have some rough idea of implementation and some concrete features I would like to see in such system. For example: 1) Instant refactoring. No more needs for

Re: Dreaming of new generation IDE

2010-02-03 Thread alex23
Adam Tauno Williams awill...@opengroupware.us wrote: This is obvious even in the Python documentation itself where one frequently asks oneself Uhh... so what is parameter X supposed to be... a string... a list... ? Could you provide an actual example to support this? The only places I tend to

Re: Dreaming of new generation IDE

2010-02-03 Thread Ben Finney
Steven D'Aprano ste...@remove.this.cybersource.com.au writes: On Wed, 03 Feb 2010 18:48:12 +0300, Vladimir Ignatov wrote: […] system knows all your identifiers and just regenerates relevant portions of text from internal database-alike representation. You will probably want to learn about

Re: Dreaming of new generation IDE

2010-02-03 Thread Ben Finney
Robert Kern robert.k...@gmail.com writes: It is perfectly reasonable (and often necessary) for the unit test of class B to use a mock object instead of a real A() instance. The unit test for class B will fail to catch the renaming of A.foo() to A.bar() because it never tries to call .foo() on

Re: Dreaming of new generation IDE

2010-02-03 Thread Vladimir Ignatov
[…] system knows all your identifiers and just regenerates relevant portions of text from internal database-alike representation. You will probably want to learn about “refactoring” to see if that's related to what you mean URL:http://www.refactoring.com/. I mean if system actually

Re: Dreaming of new generation IDE

2010-02-03 Thread David Cournapeau
On Thu, Feb 4, 2010 at 1:13 PM, Vladimir Ignatov kmis...@gmail.com wrote: […] system knows all your identifiers and just regenerates relevant portions of text from internal database-alike representation. You will probably want to learn about “refactoring” to see if that's related to what