diff --git a/kdecore/config/kconfig.cpp b/kdecore/config/kconfig.cpp
index 7ea26a5..b30584b 100644
--- a/kdecore/config/kconfig.cpp
+++ b/kdecore/config/kconfig.cpp
@@ -160,37 +160,7 @@ QString KConfigPrivate::expandString(const QString& value)
int nDollarPos = aValue.indexOf( QLatin1Char('$') );
while( nDollarPos != -1 && nDollarPos+1 < aValue.length()) {
// there is at least one $
- if( aValue[nDollarPos+1] == QLatin1Char('(') ) {
- int nEndPos = nDollarPos+1;
- // the next character is not $
- while ( (nEndPos <= aValue.length()) && (aValue[nEndPos]!=QLatin1Char(')')) )
- nEndPos++;
- nEndPos++;
- QString cmd = aValue.mid( nDollarPos+2, nEndPos-nDollarPos-3 );
-
- QString result;
- QByteArray oldpath = qgetenv( "PATH" );
- QByteArray newpath;
- if (KGlobal::hasMainComponent()) {
- newpath = QFile::encodeName(KGlobal::dirs()->resourceDirs("exe").join(QChar::fromLatin1(KPATH_SEPARATOR)));
- if (!newpath.isEmpty() && !oldpath.isEmpty())
- newpath += KPATH_SEPARATOR;
- }
- newpath += oldpath;
- setenv( "PATH", newpath, 1/*overwrite*/ );
-// FIXME: wince does not have pipes
-#ifndef _WIN32_WCE
- FILE *fs = popen(QFile::encodeName(cmd).data(), "r");
- if (fs) {
- QTextStream ts(fs, QIODevice::ReadOnly);
- result = ts.readAll().trimmed();
- pclose(fs);
- }
-#endif
- setenv( "PATH", oldpath, 1/*overwrite*/ );
- aValue.replace( nDollarPos, nEndPos-nDollarPos, result );
- nDollarPos += result.length();
- } else if( aValue[nDollarPos+1] != QLatin1Char('$') ) {
+ if( aValue[nDollarPos+1] != QLatin1Char('$') ) {
int nEndPos = nDollarPos+1;
// the next character is not $
QString aVarName;
diff --git a/kdecore/doc/README.kiosk b/kdecore/doc/README.kiosk
index b95002d..e4da590 100644
--- a/kdecore/doc/README.kiosk
+++ b/kdecore/doc/README.kiosk
@@ -639,19 +639,6 @@ the $USER environment variable. The user will not be able to change this entry.
The following syntax is also supported:
Name[$ei]=${USER}
-
-Shell Commands in KDE config files.
-===================================
-
-Since KDE-3.1 arbitrary entries in configuration files can contain shell
-commands. This way the value of a configuration entry can be determined
-dynamically at runtime. In order to use this the entry must be marked
-with [$e].
-
-Example:
-Host[$e]=$(hostname)
-
-
KDE Kiosk Application API
==========================
diff --git a/kdecore/tests/kconfigtest.cpp b/kdecore/tests/kconfigtest.cpp
index 78e6ad1..37ea3c2 100644
--- a/kdecore/tests/kconfigtest.cpp
+++ b/kdecore/tests/kconfigtest.cpp
@@ -479,12 +479,8 @@ void KConfigTest::testPath()
QCOMPARE(group.readPathEntry("withBraces", QString()), QString("file://" + HOMEPATH) );
QVERIFY(group.hasKey("URL"));
QCOMPARE(group.readEntry("URL", QString()), QString("file://" + HOMEPATH) );
-#if !defined(Q_OS_WIN32) && !defined(Q_OS_MAC)
- // I don't know if this will work on windows
- // This test hangs on OS X
QVERIFY(group.hasKey("hostname"));
- QCOMPARE(group.readEntry("hostname", QString()), QHostInfo::localHostName());
-#endif
+ QCOMPARE(group.readEntry("hostname", QString()), QString("(hostname)")); // the $ got removed because empty var name
QVERIFY(group.hasKey("noeol"));
QCOMPARE(group.readEntry("noeol", QString()), QString("foo"));
}