In our previous episode, ik said:
I was looking to understand in what version of FPC ($IF defined ... } was
added, and realized that it is not very simple to detect such information.
True. SVN logs of documentation and compiler is the easiest. But that can be
exhausting.
But $if is old.
In our previous episode, Graeme Geldenhuys said:
Anyway, while browsing there, I came across FPK (what is now known as
FPC) v0.2 source code release. 17 units in total and all console
output is German text. This release was way before I (and probably
most of you) even knew Free Pascal
In our previous episode, Reinier Olislagers said:
On ftp://ftp.freepascal.org/pub/fpc/dist/2.6.0/bootstrap/ there are a
lot of bootstrap compilers, but I miss a x86 Windows bootstrap compiler.
It is the responsibility of the platform maintainers to upload that.
That being said, for windows it
In our previous episode, Reinier Olislagers said:
It is the responsibility of the platform maintainers to upload that.
That being said, for windows it makes less sense than for other platforms,
since the release also contains (possibly updated) binutils.
Ok. I'm wondering whether the 2.6
In our previous episode, Reinier Olislagers said:
binutils as the ones available at
http://svn.freepascal.org/svn/fpcbuild/trunk/install/binw32/...
_Probably_ the same. But the ones from 2.6.0 are the _guaranteed_ working
ones.
That's what I suspected. So when building a Win32
In our previous episode, Reinier Olislagers said:
No, tags/release_2_6_0 would then be the one. What is currently already in
fixed could theoretically already have been changed for 2.6.2
Thanks, Marco; I thought 2.6.1 fixes would be stability improvements to
2.6.
True. But
In our previous episode, Vincent Snijders said:
One can try to cut corners, but that will only end up having to install the
release anyway at the first hickup.
I'd expect the utils in fpcbuild/trunk to be able to build fpc/trunk
better than the release ones, otherwise they should not be
In our previous episode, Jorge Aldo G. de F. Junior said:
I would vote for a new function on all stream types to allow writing
strings in the expected way
There is no default way to stream a string.
On textfiles you only stream contents, on binary files usually a length
field (which can be
In our previous episode, michael.vancann...@wisa.be said:
On textfiles you only stream contents, on binary files usually a length
field (which can be 1,2,4 bytes depending on format) + contents.
The latter exists:
In our previous episode, michael.vancann...@wisa.be said:
If necessary I would simply add a separate version writetext, and not
multiplex it on writeansistring. But as said this is all a slippery slope,
specially with unicode profileration ahead. We are going writeunicodestring
sooner or
'In our previous episode, dmitry boyarintsev said:
Has anyone ever met libjpeg or libjpeg-turbo (by IJG) pascal bindings
(for dynamic libraries)?
The most commonly used PasJPEG doesn't meet the requirements.
If there's none, would it be useful to add them to FCL?
Yes and no. New dependency
In our previous episode, Mattias Gaertner said:
I need to authenticate user name and password under Linux. These are normal
accounts so I guess libpam is the weapon of choice. But I can't find any
pam binding in the FPC sources.
Is there a better way or has really no one yet used pam with fpc?
In our previous episode, Reinier Olislagers said:
1. Renaming is not moving???
The help says:
RenameFile renames a file from OldName to NewName. The function returns
True if successful, False otherwise. Remark: you cannot rename across
disks or partitions.
What does this mean, then?
Only
In our previous episode, Ludo Brands said:
Then again, current fpcup does not have a fixed
primary-config-path, merely a default one.
Unless I overlooked something, the primary-config-path is pretty hardcoded
now (XdgConfigHome/lazarusdevsettings). Adding a parameter for
In our previous episode, Sven Barth said:
in a container, the same container could be used.
Such logic unnecessarily complicates the compiler. Generics are already
troublesome enough.
Afaik it was the main reason to implement generic constraints in Delphi (like
.NET)?
In our previous episode, Sven Barth said:
Afaik it was the main reason to implement generic constraints in Delphi
(like
.NET)?
Constraints allow the compiler to infer further information on the given
types to improve e.g. type checking when parsing the generic,
Exactly. You e.g. know
In our previous episode, Sven Barth said:
Let's first implement everything that we need to have full Delphi
compatibilty (generic methods, constraints, inline specializations in
more complicated expressions) and then we can think of optimizing the
generic implementation for cases like class
In our previous episode, Sven Barth said:
Note that I mostly reacted to the sentiment it wouldn't be needed at all. I
directly agree it is not the highest prio in the generics implementation.
I saw you recently fixed some of my bugs, I'll do a new run.
Yes, do that please. And don't
In our previous episode, Sven Barth said:
symtable
Mean?
(it is at the end of a method)
You are accessing a symbol that's defined in the static symtable
(implementation section of the unit). Does that code compile with
Delphi? If so then please report a bug...
I was still
In our previous episode, Mattias Gaertner said:
I think you should set chmPrj.MakeSearchable := true; (where chmPrj:
TChmProject;).
At least I set it (with an ~1 year old lazarus+fpc and lhelp build) and
I can search for (complete) words in generated chm using lhelp.
(I think I do not
In our previous episode, Felipe Monteiro de Carvalho said:
What do you mean with Those errors?
AVs in fpdoc
Cough r19903, cough :-)
(not yet merged to 2.6.x)
I haven't seen any since.
___
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
In our previous episode, Sven Barth said:
Anybody know of other Linux file systems that have a case insensitive
option? I really thought ext2 had this, but searching now through the
man pages, it seems I was mistaken. Anybody know if Btrfs would have
such an option?
Did you know that
In our previous episode, Lukasz Stafiniak said:
(2) Closures. That is, making local functions that only use const
arguments and val / let variables safe to return from the outer
function. This can be done by allocating the val / let data on the
heap, or perhaps easier by copying them into
In our previous episode, Ludo Brands said:
When you are thinking of using JSON you can use AnsiString as the internal
format eventually adding a datatype tag to avoid conversion data loss as
much as possible.
ansistring is a decimal type. This incurs a binary to decimal conversion per
se
In our previous episode, Thierry B. said:
I come back to freepascal after one year and I wanted to build all
versions from my already installed 2.2.5. Builds:
- 2.4.0 from 2.2.5 : OK
- 2.4.2 from 2.4.0 : OK
- 2.4.4 from 2.4.2 : OK
- 2.4.5 from 2.4.2 : OK
- 2.6.1 from 2.4.5 : NOK :
In our previous episode, Thierry B. said:
So I just try your advice. Builds :
- 2.6.0 from 2.4.5 : oops, not 2.4.4 but it is : OK
- 2.6.1 from 2.6.0 : NOK : __missing_command_DATA2INC -b -s fppkg.cfg
fppkg.inc fppkg
same error, so there is something wrong with 2.6.1
No. It means
In our previous episode, Fabio Luis Girardi said:
Are install/makepack script broken?
I run it and I got following output:
$ export CHECKLIBGDB=no
$ export NOGDB=1
$ touch ../doc-pdf.tar.gz
$./makepack
...
Copying install.sh
Creating binary.x86_64-linux.tar
tar:
In our previous episode, Michael Van Canneyt said:
Checked and applied, thank you very much.
Database related bugs are automatically assigned to Joost, that's why I don't
see them in my list of assigned bugs.
I happened to be walking over database bugs when I read this, so I helpfully
In our previous episode, Pierre Free Pascal said:
if you usee -Aas and -al
you will see that
TEST
is just .quad -10
which is wrong of course...
Using -10.0 fixes the bug for now if
you really need this correct fast.
It would be nice if you could submit a bug report.
Note that
In our previous episode, Mark Morgan Lloyd said:
a particular development system but if it happens to me it might happen
to others.
In short, how best should I work around this?
Have a look at unit cnetdb.pp in fcl-net package.
___
fpc-pascal
In our previous episode, Bernd said:
I have this from the GLIB heads:
typedef intgint;
typedef gint gboolean;
Now I need a few packed records with such gboolean types in them. On
my i386 I am now just using
That's afaik a wrong translation. longbool are true 0, while gboolean,
like
In our previous episode, Bernd said:
Am 22. April 2012 17:39 schrieb Marco van de Voort mar...@stack.nl:
gboolean,
like Pascal booleans, are only true =1.
Just out of curiosity, how can they enforce this for the C compiler
with only some definitions in a header file?
I don't know, I
In our previous episode, Reinier Olislagers said:
Running fpcup (64 bit) on my Windows machine gives errors with fpc
fixes_2.6 (r21000/21001):
C:/development/fpc/compiler/ppcx64.exe -Ur -Xs -O2 -n -S2
-FuC:/development/fpc/rtl/units/x86_64-win64
-FuC:/development/fpc/packages/dblib
In our previous episode, Jonas Maebe said:
It is hard because 2.6.x uses a different makefile system compared to trunk,
which is harder to tune for specific OSes.
Now it is broken for Darwin (fpc-2.2 = fixes branch in this context):
Fixed I hope.
In our previous episode, Mark Morgan Lloyd said:
Marco, I see you had a StackOverflow question on this a year or so ago.
Did you ever get anywhere with it in practice?
It was an idea to lower the overhead and improve the reliability of our
serial protocol. (because of the out of band
In our previous episode, Florian Kl?mpfl said:
make sysutils/runtime etc an external loadable library and we are
going to see FPC generate similar sized executables for similarly
sized programs.
It makes them look smaller but their footprint is actually larger so
this is exactly what Ido
In our previous episode, Bernd said:
an fpc checkout from the 2.6 fixes branch
a lazarus checkout from the trunk
For normal compiling (not cross) after updating everything from svn I
usually just use
in the fpc directory
make clean all
sudo make install
A small warning, and possibly
Interested people might want to have a look at
http://bugs.freepascal.org/view.php?id=12492
there are iirc still unprocessed patches in that report.
___
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
In our previous episode, Reinier Olislagers said:
Seem to be having some problems compiling FPC trunk r21192 x86 windows
(see below).
However, x64 build does work.
Is this a known problem?
Should I keep pestering the list with these kinds of mails (I can put
them up in the bugtracker or
Hello,
I'm in the process of converting an old MSVC6 application to FPC/Delphi,
so I'm thinking about using a c to pascal converter.
The code is older 6-10kloc, and is plain C in a MFC C++ framework. It does
nothing but processing samples (array handling and transformation), and
drawing a graph
In our previous episode, dhkblas...@zeelandnet.nl said:
c2pas32 often gives acceptable results.
Definitely the best results so far. If it is enough, I don't know yet, but
then it will at least be good enough to speed up fragments. Thanks!
___
In our previous episode, Tomas Hajny said:
1) Find the first alphabetic character after the first line (which is
already processed/skipped by InstantFPC anyway) while ignoring all
whitespaces and possible comments (in all allowed formats, i.e. including
(* *) ) - the only small complexity here
In our previous episode, Mattias Gaertner said:
It's not big. The RTL lacks little functions for scripts. For
example download an URL, get a list of files in a directory, load a
xml file, test a RE.
Running pascal programs as scripts is only the first step. The
next step is to provide a
In our previous episode, Jonas Maebe said:
Is it (already) possible to use Unicodestrings for file paths?
Only if your current ansi code page supports the characters used in the
unicodestring. There are not unicodestring overloads yet in the RTL.
I think Joerg means something else. The
In our previous episode, Bernd said:
unixutil
another deprecated function that has not written any hint towards its
replacement right behind the 'deprecated' keyword (where it would
belong). The RTL documentation also does not contain any hints.
Unixutil is a barrel of leftovers of 1.0.x
In our previous episode, Bernd said:
So use functions from 2.0.x like sysutils.extract*
Found it, thank you.
I was a little bit impatient yesterday, I should have searched a
little longer on my own.
Due to the extraordinarily high quality of FPC and Lazarus I have
begun to take
In our previous episode, Sven Barth said:
While I can not comment on the changes you listed (though they sound
more or less valid)
I'm not sure if the *rec records can handle pointers, one probably can't use
reference types in them, because the standard filedescriptions are
threadvars.
Think
In our previous episode, Sven Barth said:
Think what happens if those are simply cloned.
Why shouldn't reference types work in threadvard records? As long as the
reference count mechanism does it's work correctly it should work.
Afaik because the ref count mechanism doesn't. The cloning
In our previous episode, leledumbo said:
So I ask: what's the correct code to inform as argument a TProcess and
a instruction string and as a return, to get the output string?
If very up to date FPC 2.7.1:
var s : ansistring;
if RunCommand(binaryname,['arg1','arg2'],s) then
begin
//
In our previous episode, leledumbo said:
WUAOOOW!!! Where are those functions, Marco?
In 2.7.1 (trunk)
Which revision implements them?
r21437
And last but not least, do those functions consider BIG output?
Yes. As said in the original message, the base is the large output wiki
source.
In our previous episode, Jonas Maebe said:
m1: Matrix = ((1, 2, 3), (2, 3, 4));
and get a properly sized dynamic array matching the matrix given.
This is obviously not supported, but what can I do? I can build an
infinite number of functions, taking fixed-sized arrays as input and
In our previous episode, Reinier Olislagers said:
Also, I'm sure there must be functions to convert endianness - at least
network byte order (big endian) to host order.
I found e.g. Synapse synsock:
function ntohs(netshort: word): word;
function ntohl(netlong: longword): longword;
In our previous episode, Leonardo M. Ram? said:
Hi, I want to format a float number to currency. To do this, I use the Format
function using the %m format, as this:
Format('%m', [123.25]);
I'm using Ubuntu 12.04 and my regional settings at configured to display $
1234.25, but I'm getting
In our previous episode, Mattias Gaertner said:
Has someone already implemented a fpimage reader for jpeg2000?
Not that I know. I once looked into it, but it seemed a rather big chunk.
___
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
In our previous episode, kyan said:
A couple of questions regarding handling of strings, dynamic arrays
and objects -especially exceptions- when writing programs that use
shared libraries (.dll, .so).
In Delphi we have the option of either using packages to ensure that
there is only one
In our previous episode, kyan said:
I suggest that you implement this using interfaces. You place the
interface declaration in a common file, use the interfaces from the
main exe but implement them in separate dlls.
Or maybe go a step further, and use IDispatch that passes through unknown
In our previous episode, Sven Barth said:
says that WinRT is a COM-based API and uses a .NET-like metadata format.
So it is not native code after all then. I don't know why they advertised
it as native. I guess it is faster than .NET code because it is not
managed. I thought that .NET allows
In our previous episode, J?rgen Hestermann said:
How to put longstrings globally on?
I tried with {$h+} in project compiler settings (other) with no effect.
Safest method is not to use the generic type string in your code.
Instead use directly the string type that you need (i.e. ansistring
In our previous episode, Michael Van Canneyt said:
http://wiki.freepascal.org/index.php?title=User_Changes_Trunk
to notify people of this change.
Could you change it to use the same format/template as the other entries?
We can always trust Jonas to notice such things :-)
Done.
In our previous episode, Jonas Maebe said:
I'll try to test against 2.7.1 later in the day, although as I've
said Linux is OK.
The memory layout is not necessarily the same on both OSes.
Or does the linux kernel contain a facility to work around certain kinds of
exceptions?
E.g. IIRC
In our previous episode, waldo kitty said:
However I always think of named
pipes, threads etc. as being primarily OS/2 v1 innovations, although some
might
have been introduced by the obscure Microsoft OS usually referred to as
European MS-DOS v4.0.
for some reason i was thinking that
In our previous episode, Michael Van Canneyt said:
lgetxattr(/etc/odbc.ini, security.selinux, 0x14de920, 255) = -1 ENODATA
(No data available)
getxattr(/etc/odbc.ini, system.posix_acl_access, 0x0, 0) = -1 EOPNOTSUPP
(Operation not supported)
If you want speedier operation, and have enough
In our previous episode, leledumbo said:
I think the fast point from OP point of view is the less typing, less source
code. Not from executable point of view.
Hmmm, makes me wonder when typing became the limiting factor in programming
:-)
___
In our previous episode, Bart said:
[OT]
Ideal programming Language (ObjectPascal 10.1?), reduced typing.
Program AnyProgram;
begin
MyPrgram := TMyProgram.Create(ReadMyMindAndCreateWhatIWantNow);
end.
Actually, from experience, that isn't even enough. What you want
at the beginning
In our previous episode, Mark Morgan Lloyd said:
When using a function like fpAccept on a non-blocking socket, in some
cases -1 is returned with a documented (Linux kernel) error code of
EAGAIN. Should I be looking for this in errno or SocketError?
Socketerror is more portable, but on *nix
In our previous episode, Jonas Maebe said:
Free Pascal Compiler version 2.7.1 [2012/05/22] for i386
Anyone have
an idea what could be wrong?
Building development versions of FPC always has been and always will be
guaranteed to work only if you start with the latest *release*
In our previous episode, Sven Barth said:
The function returns the right language.
Somehow this sounds like the GNU GetText function _() works. With the
exception that the text which has to be translated is simply searched by
looking through the source code for _(some text)...
Note that
In our previous episode, Rainer Stratmann said:
There are not many different ways for a call.
http://css.csail.mit.edu/6.858/2011/readings/i386/CALL.htm
Yes, so the amount of effort may increase drastically. New CPU may bring
new ways too.
But not the 80x86 CPU. It is still the
In our previous episode, Jonas Maebe said:
I am not able to use this function:
http://www.freepascal.org/docs-html/rtl/dos/weekday.html
nor can I find it in the sources.
Does it still exist?
If yes, how to use it? Which unit? DOS does not work.
The weekday function only exists in the
In our previous episode, Lukasz Sokol said:
Me neither - but IIRC using gettext (dxgettext) was something /incredibly/
easy :
the translating function is called '_()' :) (yes, function _([const] input:
string): string; )
(allegedly, in newer (dx)gettext, not even that- it's enough to
In our previous episode, Reinier Olislagers said:
in packages\fcl-res\xml) but not in the bin directory.
IIRC, fpdoc picks up fpdoc.css when generating HTML/CHM output.
Shouldn't fpdoc.css be also present under the bin directory then?
Thanks,
Reinier
Bump.
Any reactions?
In our previous episode, Reinier Olislagers said:
Now we've got 2 different behaviours:
- fpdoc in the source directory has fpdoc.css and will generate chm/html
files with it
- fpdoc in the bin directory doesn't have it.
In my view this difference in behaviour is unnecessary and only server
In our previous episode, michael.vancann...@wisa.be said:
If I understand it correctly, this is only the case for plain HTML whereas
CHM includes it internally (and from this point of view it is much more a
configuration file influencing the output than part of fpdoc documentation
- see
In our previous episode, Rainer Stratmann said:
You already have a very good grasp of the issues involved as you were
writing your own solution. You could probably improve dxgettext with
some things and get that in the main development tree, thereby improving
things for others.
As I
In our previous episode, Graeme Geldenhuys said:
In both these cases, I manually created unversioned symlinks to those
libraries, and that got my applications working again. This is not
ideal, but I don't know how else to handle this.
Does any body know what is the most correct way of
In our previous episode, Graeme Geldenhuys said:
You said that you manually created the symbolic link. I simply explained
that you should
never do that, and instead install the development packages because they
will do that
(correctly) for you.
So my applications that I deploy to
In our previous episode, Rainer Stratmann said:
Limitations, not problems. Compared to the Delphi internal translation
systems. Yours has the same, by design.
Which limitations?
see below
If your source (main) language has a word with two meanings, how will you
translate to a language
In our previous episode, Rainer Stratmann said:
In my case it can also be possible that there are not all words
translated yet. Then the original text is shown or englich one. The
translation can be made later. That is (also) an advantage.
No it can't, since if two the same texts
In our previous episode, Graeme Geldenhuys said:
Hi,
On 15 August 2012 15:32, Reinier Olislagers reinierolislag...@gmail.com
wrote:
And you can use the (Firebird/Interbase Services IIRC) API to get the
server version. I seem to remember Ludo's recent addition to FPC has
this
In our previous episode, Michael Van Canneyt said:
I don't see what is wrong with that. You get a nice exception when you try
to load a different library than the one that is alread loaded. But if I
want to make an app that works with embedded firebird or firebird client
(user selectable
In our previous episode, Graeme Geldenhuys said:
I had a quick look to see what other (non FPC based) application do.
FlameRobin has a dependency on libfbclient.so.2 (thus versioned .so
library). That's why it works without having to install the -devel
package.
Is that a cross-distro binary?
In our previous episode, Graeme Geldenhuys said:
I'm sure I can add that, and I'm sure it will work for my Firebird
connections, but other libraries I use don't have such functionality.
I'm trying to get to the bottom of
* Why must developers jump through hoops to get there DB apps to
In our previous episode, Graeme Geldenhuys said:
Blend perfectly with the distro they are build for, but if changes occur
chances on recovery are slim.
Be more specific, what changes?
Change in naming, (either root (gds-fbclient) or version numbers) non
standard directories (the
In our previous episode, Ludo Brands said:
Making it easier for the programmer to specify the library he wants will put
a halt on this discussion returning in some way or the other every 6-9
months. What is recurring in these discussions also is the non- or
badly-documented
In our previous episode, Ludo Brands said:
Unfortunately your example illustrates nicely the difference.
InitializeInterbase is unknown in the fpc I'm using. InitialiseIBase60 does
exist but you have to add the non-trivial ibase60dyn to the uses clause to
get to it (Google has 146 hits for
In our previous episode, Ludo Brands said:
of TIBConnection, non of these difficulties would exist.
Documentation is a different story.
It is a different story but an integral part of this particular problem. Why
else has the solution to be spelled out everytime the problem pops up?
In our previous episode, Luca Olivetti said:
If dynamic linking is so great, why do we constant, constantly have these
discussions and worse all these illadvised changes?
Because the problem is not in dynamic versus static.
We would have exactly the same discussions if they were
In our previous episode, Rainer Stratmann said:
And let's not forget: if we choose a reasonable default library name,
99% of all problems fall away by themselves, and the component will
not be needed in the first place; Just for special cases will you need it.
I did not follow the thread,
In our previous episode, microc...@zoho.com said:
Is anybody else receiving mailformed emails from the list?
I've received several, most or all from Marco, with all with most of the
headers appearing as text since there is an extra blank line between the
X-Mailer header and the previous
In our previous episode, Michael Van Canneyt said:
In our previous episode, Ludo Brands said:
of TIBConnection, non of these difficulties would exist.
If drastic changes (like postponing header initialization till larger parts
of the LCL are in the air) must be made, I rather fix all
In our previous episode, Jonas Maebe said:
My plan (for linux) was:
Search fbclient.so search fbclient.so.2 (2.x series of firebird)
search fbclient.so.1 (1.x series of Firebird) if the library name has not
been specified.
fbclient.so should not be searched. It could point to anything,
In our previous episode, Graeme Geldenhuys said:
0) Am I jumping the gun here, and FPC is not nearly compatible enough to
port a Delphi 2010, XE, XE2 project to FPC 2.7.1?
If it relies heavily on unicodestring, IMHO yes.
My guess is that you mistook a comment that confirmed the base
In past unicode discussions, rawbytestring was offered as a solution to
mixing utf8 and unicodestring (utf16).
I got the impression that rawbytestring was a kind of open array string, to
which strings could be passed without implicit conversion. (saving a lot in
overloading)
A week or two back I
In our previous episode, Timothy Madden said:
Very ingeniuos, I believe this is as close to a solution as I can get
for now.
But there are still a few probles I can see:
- there is no way to prefix symbols within a unit, that I know of.
Some languages related to pascal and maybe even
In our previous episode, Marcos Douglas said:
I proposed this sintaxe:
uses my_long_unit_name as my;
begin
my.proc();
end
This doesn't protect any better, since
the new unit might also define my.
___
fpc-pascal maillist -
In our previous episode, ik said:
Doesn't 2.7.1 is the current development version ?
Yes. But it can describe pretty much any version from last december to till
when 2.8.0 comes out and trunk version number will change to 2.9.1.
___
fpc-pascal
In our previous episode, Sven Barth said:
Because only for modes TP and Delphi the default style is Intel instead
of ATT which was chosen as the default for FPC (not the mode, but the
compiler) on x86 systems.
And before you ask: I don't know why ATT was chosen as default, maybe
by
In our previous episode, Rainer Stratmann said:
I downloaded the daily source an wanted to build a crosscompiler for arm
with:
make clean buildbase installbase CROSSINSTALL=1 CROSSOPT=-XParm-elf-
OS_TARGET=embedded CPU_TARGET=arm SUBARCH=armv7m
Starting with what compiler?
In our previous episode, michael.vancann...@wisa.be said:
From personal experience, when i first time saw how pascalish is closures
implementation in Delphi i just admired the ease in which that concept was
fused into the language of very different style built upon very different
ideas. It
In our previous episode, Sven Barth said:
The closures (or anonymous functions as they are called in Delphi) are
missing, because none of the developers has them on the important slots
of the todo lists. So as long as nobody comes and implements them then
they are not going to be
101 - 200 of 2183 matches
Mail list logo