summary refs log tree commit diff stats
path: root/test/tc_ext.py
blob: b80942336313257679735e58411fb2c6c44fadba (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# Copyright (C) 2009, 2010  Roman Zimbelmann <romanz@lavabit.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

if __name__ == '__main__': from __init__ import init; init()
import unittest
from collections import deque

from ranger.ext.iter_tools import *

class TestCases(unittest.TestCase):
	def test_flatten(self):
		def f(x):
			return list(flatten(x))

		self.assertEqual(
			[1,2,3,4,5],
			f([1,2,3,4,5]))
		self.assertEqual(
			[1,2,3,4,5],
			f([1,[2,3],4,5]))
		self.assertEqual(
			[1,2,3,4,5],
			f([[1,[2,3]],4,5]))
		self.assertEqual(
			[],
			f([[[[]]]]))
		self.assertEqual(
			['a', 'b', 'fskldfjl'],
			f(['a', ('b', 'fskldfjl')]))
		self.assertEqual(
			['a', 'b', 'fskldfjl'],
			f(['a', deque(['b', 'fskldfjl'])]))
		self.assertEqual(
			set([3.5, 4.3, 5.2, 6.0]),
			set(f([6.0, set((3.5, 4.3)), (5.2, )])))

	def test_unique(self):
		def u(x):
			return list(unique(x))

		self.assertEqual(
			[1,2,3],
			u([1,2,3]))
		self.assertEqual(
			[1,2,3],
			u([1,2,3,2,1]))
		self.assertEqual(
			[1,2,3],
			u([1,2,3,1,2,3,2,2,3,1,2,3,1,2,3,2,3,2,1]))
		self.assertEqual(
			[1,[2,3]],
			u([1,[2,3],1,[2,3],[2,3],1,[2,3],1,[2,3],[2,3],1]))

	def test_unique_keeps_type(self):
		def u(x):
			return unique(x)

		self.assertEqual(
			[1,2,3],
			u([1,2,3,1]))
		self.assertEqual(
			(1,2,3),
			u((1,2,3,1)))
		self.assertEqual(
			set((1,2,3)),
			u(set((1,2,3,1))))
		self.assertEqual(
			deque((1,2,3)),
			u(deque((1,2,3,1))))

	def test_mount_path(self):
		# assuming ismount() is used

		def my_ismount(path):
			depth = path.count('/')
			if path.startswith('/media'):
				return depth == 0 or depth == 2
			return depth <= 1

		from ranger.ext import mount_path
		original_ismount = mount_path.ismount
		mount_path.ismount = my_ismount
		try:
			mp = mount_path.mount_path

			self.assertEqual('/home', mp('/home/hut/porn/bondage'))
			self.assertEqual('/', mp('/'))
			self.assertEqual('/media/sdb1', mp('/media/sdb1/foo/bar'))
			self.assertEqual('/media/sdc2', mp('/media/sdc2/a/b/c/d/e'))
		finally:
			mount_path.ismount = original_ismount

		# TODO: links are not tested but I don't see how its possible
		# without messing around with mounts.
		# self.assertEqual('/media/foo',
		#     mount_path('/media/bar/some_link_to_a_foo_subdirectory'))

	def test_openstruct(self):
		from ranger.ext.openstruct import OpenStruct
		from random import randint, choice
		from string import ascii_letters

		os = OpenStruct(a='a')
		self.assertEqual(os.a, 'a')
		self.assertRaises(AttributeError, getattr, os, 'b')

		dictionary = {'foo': 'bar', 'zoo': 'zar'}
		os = OpenStruct(dictionary)
		self.assertEqual(os.foo, 'bar')
		self.assertEqual(os.zoo, 'zar')
		self.assertRaises(AttributeError, getattr, os, 'sdklfj')

		for i in range(100):
			attr_name = ''.join(choice(ascii_letters) \
				for x in range(randint(3,9)))
			value = randint(100,999)
			if not attr_name in os:
				self.assertRaises(AttributeError, getattr, os, attr_name)
			setattr(os, attr_name, value)
			value2 = randint(100,999)
			setattr(os, attr_name, value2)
			self.assertEqual(value2, getattr(os, attr_name))

	def test_shell_escape(self):
		from ranger.ext.shell_escape import shell_escape, shell_quote
		self.assertEqual(r"'luigi'\''s pizza'", shell_quote("luigi's pizza"))
		self.assertEqual(r"luigi\'s\ pizza", shell_escape("luigi's pizza"))
		self.assertEqual(r"\$lol/foo\\xyz\|\>\<\]\[",
				shell_escape(r"$lol/foo\xyz|><]["))


if __name__ == '__main__':
	unittest.main()
2'>1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856
# lynx.cfg file.
# The default placement for this file is /usr/local/lib/lynx.cfg (Unix)
#                                     or Lynx_Dir:lynx.cfg (VMS)
#
#
# Definition pairs are of the form  VARIABLE:DEFINITION
# NO spaces are allowed between the pair items.
#
#  If you do not have write access to /usr/local/bin you may change
#  the default location of this file in the userdefs.h file and recompile,
#  or specify it's location on the command line with the "-cfg"
#  command line option.
#
# Items may be commented out by putting a '#' as the FIRST char of the line
#
# All definitions must be flush left and have NO spaces.!!!
#
#
# Starting with Lynx 2.8.1, the lynx.cfg file has a crude "include"
# facility.  This means that you can take advantage of the global lynx.cfg
# while also supplying your own tweaks.
#
# You can use a command-line argument (-cfg /where/is/lynx.cfg) or an
# environment variable (LYNX_CFG=/where/is/lynx.cfg).
# For instance, put in your .profile or .login:
#
#   LYNX_CFG=~/lynx.cfg; export LYNX_CFG   # in .profile for sh/ksh/bash/etc.
#   setenv LYNX_CFG ~/lynx.cfg             # in .login for [t]csh
#
# Then in ~/lynx.cfg:
#
#INCLUDE:/usr/local/lib/lynx.cfg
#       ^^^^^^^^^^^^^^^^^^^^^^^ or whatever's appropriate on your system
#and now your own tweaks.

#
# STARTFILE is the default URL if none is specified on the command line
# or via a WWW_HOME environment variable.
# Note:  these files can be remote (http://www.w3.org/default.html)
# or local (file://localhost/PATH_TO/FILENAME
#  replace PATH_TO with the complete path to FILENAME
#  use Unix SHELL syntax and include the device on VMS systems)
#
STARTFILE:http://lynx.browser.org/

# HELPFILE must be defined as a URL and must have a
# complete path if local:
# file://localhost/PATH_TO/lynx_help/lynx_help_main.html
#   Replace PATH_TO with the path to the lynx_help subdirectory
#   for this distribution (use SHELL syntax including the device
#   on VMS systems).
# The default HELPFILE is:
# http://www.crl.com/~subir/lynx/lynx_help/lynx_help_main.html
#   This should be changed to the local path.
#
HELPFILE:http://www.crl.com/~subir/lynx/lynx_help/lynx_help_main.html
#HELPFILE:file://localhost/PATH_TO/lynx_help/lynx_help_main.html

# DEFAULT_INDEX_FILE is the default file retrieved when the
# user presses the 'I' key when viewing any document.
# An index to your CWIS can be placed here or a document containing
# pointers to lots of interesting places on the web.
#
DEFAULT_INDEX_FILE:http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html

# Set GOTOBUFFER to TRUE if you want to have the previous goto URL,
# if any, offered for reuse or editing when using the 'g'oto command.
# The default is defined in userdefs.h.  If left FALSE, the circular
# buffer of previously entered goto URLs can still be invoked via the
# Up-Arrow or Down-Arrow keys after entering the 'g'oto command.
#
#GOTOBUFFER:FALSE

# JUMP_PROMPT is the default statusline prompt for selecting a jumps file
# shortcut.  (see below).
# You can change the prompt here from that defined in userdefs.h.  Any
# trailing white space will be trimmed, and a single space is added by Lynx
# following the last non-white character.  You must set the default prompt
# before setting the default jumps file (below).  If a default jumps file
# was set via userdefs.h, and you change the prompt here, you must set the
# default jumps file again (below) for the change to be implemented.
#
#JUMP_PROMPT:Jump to (use '?' for list):

# JUMPFILE is the default local file checked for shortcut URLs when
# the user presses the 'J' (JUMP) key.  The user will be prompted for
# a shortcut entry (analogously to 'g'oto), and can enter one
# or use '?' for a list of the shortcuts with associated links to
# their actual URL's.  See the jumps files in the lynx*/samples
# subdirectory.  Make sure your jumps file includes a '?' shortcut
# for a file://localhost URL to itself:
#
# <dt>?<dd><a href="file://localhost/path/jumps.html">This Shortcut List</a>
#
# If not defined here or in userdefs.h, the JUMP command will invoke
# the NO_JUMPFILE statusline message (see userdefs.h).
#
# On VMS, use Unix SHELL syntax (including a lead slash) to define it.
#
# Do not include "file://localhost" in the definition.
#
# Additional alternate jumps files can be defined and mapped to
# keystrokes at the bottom of lynx.cfg, but you should first define
# the default jumps file (mapped by default to 'J', and to 'j' when
# the "VI keys" 'o'ption is not ON) here or in userdefs.h, if you
# wish to implement the jumps mechanism.
#
#JUMPFILE:/Lynx_Dir/jumps.html

# Set JUMPBUFFER to TRUE if you want to have the previous jump target,
# if any, offered for reuse or editing when using the 'J'ump command.
# The default is defined in userdefs.h.  If left FALSE, the circular
# buffer of previously entered targets (shortcuts) can still be invoked
# via the Up-Arrow or Down-Arrow keys after entering the 'J'ump command.
# If multiple jumps files are installed, the recalls of shortcuts will
# be specific to each file.  If Lynx was built with PERMIT_GOTO_FROM_JUMP
# defined, any random URLs used instead of shortcuts will be stored in the
# goto URL buffer, not in the shortcuts buffer(s), and the single character
# ':' can be used as a target to invoke the goto URL buffer (as if 'g'oto
# followed by Up-Arrow had been entered).
#
#JUMPBUFFER:FALSE

# If SAVE_SPACE is defined, it will be used as a path prefix for the
# suggested filename in "Save to Disk" operations from the 'p'rint or
# 'd'ownload menus.  On VMS, you can use either VMS (e.g., "SYS$LOGIN:")
# or Unix syntax (including '~' for the HOME directory).  On Unix, you
# must use Unix syntax.  If the symbol is not defined, or is zero-length
# (""), no prefix will be used, and only a filename for saving in the
# current default directory will be suggested.
# This definition will be overridden if a "LYNX_SAVE_SPACE" environment
# variable has been set on Unix, or logical has been defined on VMS.
#
#SAVE_SPACE:~/foo/

# If LYNX_HOST_NAME is defined here or in userdefs.h, it will be
# treated as an alias for the local host name in checks for URLs on
# the local host (e.g., when the -localhost switch is set), and this
# host name, "localhost", and HTHostName (the fully qualified domain
# name of the system on which Lynx is running) will all be passed as
# local.  A different definition here will override that in userdefs.h.
#
#LYNX_HOST_NAME:www.cc.ukans.edu

# localhost aliases
# Any LOCALHOST_ALIAS definitions also will be accepted as local when
# the -localhost switch is set.  These need not actually be local, i.e.,
# in contrast to LYNX_HOST_NAME, you can define them to trusted hosts at
# other Internet sites.
#
#LOCALHOST_ALIAS:gopher.server.domain
#LOCALHOST_ALIAS:news.server.domain

# LOCAL_DOMAIN is used for a tail match with the ut_host element of
# the utmp or utmpx structure on systems with utmp capabilities, to
# determine if a user is local to your campus or organization when
# handling -restrictions=inside_foo or outside_foo settings for ftp,
# news, telnet/tn3270 and rlogin URLs.  An "inside" user is assumed
# if your system does not have utmp capabilities.  CHANGE THIS here
# if it was not changed in userdefs.h at compilation time.
#
#LOCAL_DOMAIN:ukans.edu

# CHARACTER_SET defines the display character set, i.e., assumed to be
# installed on the user's terminal.  It determines which characters or strings
# will be used to represent 8-bit character entities within HTML.  New
# character sets may be defined as explained in the README files of the
# src/chrtrans directory in the Lynx source code distribution.  For Asian (CJK)
# character sets, it also determines how Kanji code will be handled.  The
# default is defined in userdefs.h and can be changed here or via the
# 'o'ptions menu.  The 'o'ptions menu setting will be stored in the user's RC
# file whenever those settings are saved, and thereafter will be used as the
# default.  For Lynx a "character set" has two names:  a MIME name (for
# recognizing properly labeled charset parameters in HTTP headers etc.), and a
# human-readable string for the 'O'ptions Menu (so you may find info about
# language or group of languages besides MIME name).  Not all 'human-readable'
# names correspond to exactly one valid MIME charset (example is "Chinese");
# in that case an appropriate valid (and more specific) MIME name should be
# used where required.  Well-known synonyms are also processed in the code.
#
# Raw (CJK) mode
#
# Lynx normally translates characters from a document's charset to display
# charset, using ASSUME_CHARSET value (see below) if the document's charset
# is not specified explicitly.  Raw (CJK) mode is OFF for this case.
# When the document charset is specified explicitly, that charset
# overrides any assumption like ASSUME_CHARSET or raw (CJK) mode.
#
# For the Asian (CJK) display character sets, the corresponding charset is
# assumed in documents, i.e., raw (CJK) mode is ON by default.  In raw CJK
# mode, 8-bit characters are not reverse translated in relation to the entity
# conversion arrays, i.e., they are assumed to be appropriate for the display
# character set.  The mode should be toggled OFF when an Asian (CJK) display
# character set is selected but the document is not CJK and its charset not
# specified explicitly.
#
# Raw (CJK) mode may be toggled by user via '@' (LYK_RAW_TOGGLE) key,
# the -raw command line switch or from the 'o'ptions menu.
#
# Raw (CJK) mode effectively changes the charset assumption about unlabeled
# documents.  You can toggle raw mode ON if you believe the document has a
# charset which does correspond to your Display Character Set.  On the other
# hand, if you set ASSUME_CHARSET the same as Display Character Set you get raw
# mode ON by default (but you get assume_charset=iso-8859-1 if you try raw mode
# OFF after it).
#
# Note that "raw" does not mean that every byte will be passed to the screen.
# HTML character entities may get expanded and translated, inappropriate
# control characters filtered out, etc.  There is a "Transparent" pseudo
# character set for more "rawness".
#
# Since Lynx now supports a wide range of platforms it may be useful to note
# the cpXXX codepages used by IBM PC compatible computers, and windows-xxxx
# used by native MS-Windows apps.  We also note that cpXXX pages rarely are
# found on Internet, but are mostly for local needs on DOS.
#
# Recognized character sets include:
#
#    string for 'O'ptions Menu          MIME name
#    ===========================        =========
#    7 bit approximations (US-ASCII)    us-ascii
#    Western (ISO-8859-1)               iso-8859-1
#    Western (cp850)                    cp850
#    Western (windows-1252)             windows-1252
#    IBM PC US codepage (cp437)         cp437
#    DEC Multinational                  dec-mcs
#    Macintosh (8 bit)                  macintosh
#    NeXT character set                 next
#    Chinese                            euc-cn
#    Japanese (EUC-JP)                  euc-jp
#    Japanese (Shift_JIS)               shift_jis
#    Korean                             euc-kr
#    Taipei (Big5)                      big5
#    Vietnamese (VISCII)                viscii
#    Eastern European (ISO-8859-2)      iso-8859-2
#    Eastern European (cp852)           cp852
#    Eastern European (windows-1250)    windows-1250
#    Latin 3 (ISO-8859-3)               iso-8859-3
#    Latin 4 (ISO-8859-4)               iso-8859-4
#    Baltic Rim (cp775)                 cp775
#    Baltic Rim (windows-1257)          windows-1257
#    Cyrillic (ISO-8859-5)              iso-8859-5
#    Cyrillic (cp866)                   cp866
#    Cyrillic (windows-1251)            windows-1251
#    Cyrillic (KOI8-R)                  koi8-r
#    Arabic (ISO-8859-6)                iso-8859-6
#    Arabic (cp864)                     cp864
#    Arabic (windows-1256)              windows-1256
#    Greek (ISO-8859-7)                 iso-8859-7
#    Greek (cp737)                      cp737
#    Greek2 (cp869)                     cp869
#    Greek (windows-1253)               windows-1253
#    Hebrew (ISO-8859-8)                iso-8859-8
#    Hebrew (cp862)                     cp862
#    Hebrew (windows-1255)              windows-1255
#    Turkish (ISO-8859-9)               iso-8859-9
#    ISO-8859-10                        iso-8859-10
#    UNICODE (UTF-8)                    utf-8
#    RFC 1345 w/o Intro                 mnemonic+ascii+0
#    RFC 1345 Mnemonic                  mnemonic
#    Transparent                        x-transparent
#
# The value should be the MIME name of a character set recognized by
# Lynx (case insensitive).
#
#CHARACTER_SET:iso-8859-1

# ASSUME_CHARSET changes the handling of documents which do not
# explicitly specify a charset.  Normally Lynx assumes that 8-bit
# characters in those documents are encoded according to iso-8859-1
# (the official default for the HTTP protocol).  When ASSUME_CHARSET
# is defined here or by an -assume_charset command line flag is in effect,
# Lynx will treat documents as if they were encoded accordingly.
# See above on how this interacts with "raw mode" and the Display
# Character Set.
# ASSUME_CHARSET can also be changed via the 'o'ptions menu but will
# not be saved as permanent value in user's .lynxrc file to avoid more chaos.
#
#ASSUME_CHARSET:iso-8859-1

# ASSUME_LOCAL_CHARSET is like ASSUME_CHARSET but only applies to local
# files.  If no setting is given here or by an -assume_local_charset
# command line option, the value for ASSUME_CHARSET or -assume_charset
# is used.  It works for both text/plain and text/html files.
# This option will ignore "raw mode" toggling when local files are viewed
# (it is "stronger" than "assume_charset" or the effective change
# of the charset assumption caused by changing "raw mode"),
# so only use when necessary.
#
#ASSUME_LOCAL_CHARSET:iso-8859-1

# PREPEND_CHARSET_TO_SOURCE:TRUE tells Lynx to prepend a META CHARSET line
# to text/html source files when they are retrieved for 'd'ownloading
# or passed to 'p'rint functions.  This is necessary for resolving charset
# for local html files, while the assume_local_charset is just an assumption.
# For the 'd'ownload option, a META CHARSET will be added only if the HTTP
# charset is present.  The compilation default is FALSE.
# It is generally desirable to have charset information for every local
# html file, but META CHARSET string potentially could cause
# compatibility problems with other browsers, so if you leave all the
# CHARACTER_SET, ASSUME_CHARSET, ASSUME_LOCAL_CHARSET variables
# set to their default value of iso-8859-1 you usually will not need to
# change the compilation default for PREPEND_CHARSET_TO_SOURCE.
# Note that the prepending is not done for -source dumps.
#
#PREPEND_CHARSET_TO_SOURCE:FALSE

# NCR_IN_BOOKMARKS:TRUE allows you to save 8-bit characters in bookmark titles
# in the unicode format (NCR).  This may be useful if you need to switch
# display charsets frequently.  This is the case when you use Lynx on different
# platforms, e.g.  on UNIX and from a remote PC, and want to keep the bookmarks
# file persistent.
# Another aspect is compatibility:  NCR is part of I18N and HTML4.0
# specifications supported starting with Lynx 2.7.2, Netscape 4.0 and MSIE 4.0.
# Older browser versions will fail so keep NCR_IN_BOOKMARKS:FALSE if you
# plan to use them.
#
#NCR_IN_BOOKMARKS:FALSE

# FORCE_8BIT_TOUPPER overrides locale settings and uses internal 8-bit
# case-conversion mechanism for case-insensitive searches in non-ASCII display
# character sets.  It is FALSE by default and should not be changed unless
# you encounter problems with case-insensitive searches.
#
#FORCE_8BIT_TOUPPER:FALSE

# While Lynx supports different platforms and display character sets
# we need to limit the charset in outgoing mail to reduce
# trouble for remote recipients who may not recognize our charset.
# You may try US-ASCII as the safest value (7 bit), any other MIME name,
# or leave this field blank (default) to use the display character set.
# Charset translations currently are implemented for mail "subjects= " only.
#
#OUTGOING_MAIL_CHARSET:

# If Lynx encounters a charset parameter it doesn't recognize, it will
# replace the value given by ASSUME_UNREC_CHARSET (or a corresponding
# -assume_unrec_charset command line option) for it.  This can be used
# to deal with charsets unknown to Lynx, if they are "sufficiently
# similar" to one that Lynx does know about, by forcing the same
# treatment.  There is no default, and you probably should leave this
# undefined unless necessary.
#
#ASSUME_UNREC_CHARSET:iso-8859-1

# PREFERRED_LANGUAGE is the language in MIME notation (e.g., "en",
# "fr") which will be indicated by Lynx in its Accept-Language headers
# as the preferred language.  If available, the document will be
# transmitted in that language.  Users can override this setting via
# the 'o'ptions menu and save that preference in their RC file.
# This may be a comma-separated list of languages in decreasing preference.
#
#PREFERRED_LANGUAGE:en

# PREFERRED_CHARSET specifies the character set in MIME notation (e.g.,
# "ISO-8859-2", "ISO-8859-5") which Lynx will indicate you prefer in
# requests to http servers using an Accept-Charsets header.  Users can
# change it via the 'o'ptions menu and save that preference in their RC file.
# The value should NOT include "ISO-8859-1" or "US-ASCII",
# since those values are always assumed by default.
# If a file in that character set is available, the server will send it.
# If no Accept-Charset header is present, the default is that any
# character set is acceptable.  If an Accept-Charset header is present,
# and if the server cannot send a response which is acceptable
# according to the Accept-Charset header, then the server SHOULD send
# an error response with the 406 (not acceptable) status code, though
# the sending of an unacceptable response is also allowed.  See RFC2068.
#
#PREFERRED_CHARSET:

# URL_DOMAIN_PREFIXES and URL_DOMAIN_SUFFIXES are strings which will be
# prepended (together with a scheme://) and appended to the first element
# of command line or 'g'oto arguments which are not complete URLs and
# cannot be opened as a local file (file://localhost/string).  Both
# can be comma-separated lists.  Each prefix must end with a dot, each
# suffix must begin with a dot, and either may contain other dots (e.g.,
# .com.jp).  The default lists are defined in userdefs.h and can be
# replaced here.  Each prefix will be used with each suffix, in order,
# until a valid Internet host is created, based on a successful DNS
# lookup (e.g., foo will be tested as www.foo.com and then www.foo.edu
# etc.).  The first element can include a :port and/or /path which will
# be restored with the expanded host (e.g., wfbr:8002/dir/lynx will
# become http://www.wfbr.edu:8002/dir/lynx).  The prefixes will not be
# used if the first element ends in a dot (or has a dot before the
# :port or /path), and similarly the suffixes will not be used if the
# the first element begins with a dot (e.g., .nyu.edu will become
# http://www.nyu.edu without testing www.nyu.com).  Lynx will try to
# guess the scheme based on the first field of the expanded host name,
# and use "http://" as the default (e.g., gopher.wfbr.edu or gopher.wfbr.
# will be made gopher://gopher.wfbr.edu).
#
#URL_DOMAIN_PREFIXES:www.
#URL_DOMAIN_SUFFIXES:.com,.edu,.net,.org

# Lynx Options Menu style toggle:  forms-based or old-style.
# Works if old-style menu is compiled in as well as the forms-based menu.
#FORMS_OPTIONS:TRUE

# Display partial pages while downloading
#PARTIAL:TRUE

# Set the threshold # of lines Lynx must render before it
# redraws the screen in PARTIAL mode.  Anything < 0 implies
# use of the screen size.
#PARTIAL_THRES:-1

# While getting large files, Lynx shows the approximate rate of transfer.
# Set this to change the units shown:
# TRUE for KB/sec or FALSE for bytes/sec:  default is TRUE.
#SHOW_KB_RATE:TRUE

# The following three definitions set the number of seconds for
# pauses following statusline messages that would otherwise be
# replaced immediately, and are more important than the unpaused
# progress messages.  Those set by INFOSECS are also basically
# progress messages (e.g., that a prompted input has been canceled)
# and should have the shortest pause.  Those set by MESSAGESECS are
# informational (e.g., that a function is disabled) and should have
# a pause of intermediate duration.  Those set by ALERTSECS typically
# report a serious problem and should be paused long enough to read
# whenever they appear (typically unexpectedly).  The default values
# are defined in userdefs.h, and can be modified here should longer
# pauses be desired for braille-based access to Lynx.
#
#INFOSECS:1
#MESSAGESECS:2
#ALERTSECS:3

# If USE_SELECT_POPUPS is set FALSE, Lynx will present a vertical list of
# radio buttons for the OPTIONs in SELECT blocks which lack the MULTIPLE
# attribute, instead of using a popup menu.  Note that if the MULTIPLE
# attribute is present in the SELECT start tag, Lynx always will create a
# vertical list of checkboxes for the OPTIONs.
# The default defined here or in userdefs.h can be changed via the 'o'ptions
# menu and saved in the RC file, and always can be toggled via the -popup
# command line switch.
#
#USE_SELECT_POPUPS:TRUE

# SHOW_CURSOR controls whether or not the cursor is hidden or appears
# over the current link in documents or the current option in popups.
# Showing the cursor is handy if you are a sighted user with a poor
# terminal that can't do bold and reverse video at the same time or
# at all.  It also can be useful to blind users, as an alternative
# or supplement to setting LINKS_AND_FORM_FIELDS_ARE_NUMBERED or
# LINKS_ARE_NUMBERED.
# The default defined here or in userdefs.h can be changed via the
# 'o'ptions menu and saved in the RC file, and always can be toggled
# via the -show_cursor command line switch.
#
#SHOW_CURSOR:FALSE

# VERBOSE_IMAGES controls whether or not Lynx replaces the [LINK], [INLINE] and
# [IMAGE] comments (for images without ALT) with filenames of these images.
# This can be useful in determining what images are decorations
# (button.gif, line.gif) and what images are important (if the page writer
# bothers to use useful names).
#
# If this option is set here, it will override the setting in userdefs.h.
#VERBOSE_IMAGES:TRUE

# If BOLD_HEADERS is set to TRUE the HT_BOLD default style will be acted
# upon for <H1> through <H6> headers.  The compilation default is FALSE
# (only the indentation styles are acted upon, but see BOLD_H1, below).
# On Unix, compilation with -DUNDERLINE_LINKS also will apply to the
# HT_BOLD style for headers when BOLD_HEADERS is TRUE.
#
#BOLD_HEADERS:FALSE

# If BOLD_H1 is set to TRUE the HT_BOLD default style will be acted
# upon for <H1> headers even if BOLD_HEADERS is FALSE.  The compilation
# default is FALSE.  On Unix, compilation with -DUNDERLINE_LINKS also
# will apply to the HT_BOLD style for headers when BOLD_H1 is TRUE.
#
#BOLD_H1:FALSE

# If BOLD_NAME_ANCHORS is set to TRUE the content of anchors without
# an HREF attribute, (i.e., anchors with a NAME or ID attribute) will
# have the HT_BOLD default style.  The compilation default is FALSE.
# On Unix, compilation with -DUNDERLINE_LINKS also will apply to the
# HT_BOLD style for NAME (ID) anchors when BOLD_NAME_ANCHORS is TRUE.
#
#BOLD_NAME_ANCHORS:FALSE

# The DEFAULT_CACHE_SIZE specifies the number of WWW documents to be
# cached in memory at one time.
#
# This so-called cache size (actually, number) is defined in userdefs.h and
# may be modified here and/or with the command line argument -cache=NUMBER
# The minimum allowed value is 2, for the current document and at least one
# to fetch, and there is no absolute maximum number of cached documents.
# On Unix, and VMS not compiled with VAXC, whenever the number is exceeded
# the least recently displayed document will be removed from memory.
#
# On VMS compiled with VAXC, the DEFAULT_VIRTUAL_MEMORY_SIZE specifies the
# amount (bytes) of virtual memory that can be allocated and not yet be freed
# before previous documents are removed from memory.  If the values for both
# the DEFAULT_CACHE_SIZE and DEFAULT_VIRTUAL_MEMORY_SIZE are exceeded, then
# the least recently displayed documents will be freed until one or the other
# value is no longer exceeded.  The default value is defined in userdefs.h.
#
# The Unix and VMS (but not VAXC) implementations use the C library malloc's
# and calloc's for memory allocation, but procedures for taking the actual
# amount of cache into account still need to be developed.  They use only
# the DEFAULT_CACHE_SIZE value, and that specifies the absolute maximum
# number of documents to cache (rather than the maximum number only if
# DEFAULT_VIRTUAL_MEMORY_SIZE has been exceeded, as with VAXC/VAX).
#
#DEFAULT_CACHE_SIZE:10
#DEFAULT_VIRTUAL_MEMORY_SIZE:512000

# If ALWAYS_RESUBMIT_POSTS is set TRUE, Lynx always will resubmit forms
# with method POST, dumping any cache from a previous submission of the
# form, including when the document returned by that form is sought with
# the PREV_DOC command or via the history list.  Lynx always resubmits
# forms with method POST when a submit button or a submitting text input
# is activated, but normally retrieves the previously returned document
# if it had links which you activated, and then go back with the PREV_DOC
# command or via the history list.
#
# The default defined here or in userdefs.h can be toggled via
# the -resubmit_forms command line switch.
#
#ALWAYS_RESUBMIT_POSTS:FALSE

# If NO_ISMAP_IF_USEMAP is set TRUE, Lynx will not include a link to the
# server-side image map if both a server-side and client-side map for the
# same image is indicated in the HTML markup.  The compilation default is
# FALSE, such that a link with "[ISMAP]" as the link name, followed by a
# hyphen, will be prepended to the ALT string or "[USEMAP]" pseudo-ALT for
# accessing Lynx's text-based rendition of the client-side map (based on
# the content of the associated MAP element).  If the "[ISMAP]" link is
# activated, Lynx will send a 0,0 coordinate pair to the server, which
# Lynx-friendly sites can map to a for-text-client document, homologous
# to what is intended for the content of a FIG element.
#
# The compilation default, or default defined here, can be toggled via
# the "-ismap" command line switch.
#
#NO_ISMAP_IF_USEMAP:FALSE

# If SEEK_FRAG_MAP_IN_CUR is set FALSE, then USEMAP attribute values
# (in IMG or OBJECT tags) consisting of only a fragment (USEMAP="#foo")
# will be resolved with respect to the current document's base, which
# might not be the same as the current document's URL.
# The compilation default is to use the current document's URL in all
# cases (i.e., assume the MAP is present below, if it wasn't present
# above the point in the HTML stream where the USEMAP attribute was
# detected).  Lynx's present "single pass" rendering engine precludes
# checking below before making the decision on how to resolve a USEMAP
# reference consisting solely of a fragment.
#
#SEEK_FRAG_MAP_IN_CUR:TRUE

# If SEEK_FRAG_AREA_IN_CUR is set FALSE, then HREF attribute values
# in AREA tags consisting of only a fragment (HREF="#foo") will be
# resolved with respect to the current document's base, which might
# not be the same as the current document's URL.  The compilation
# default is to use the current document's URL, as is done for the
# HREF attribute values of Anchors and LINKs that consist solely of
# a fragment.
#
#SEEK_FRAG_AREA_IN_CUR:TRUE

# Local execution links and scripts are by default completely disabled
# unless a change is made to the userdefs.h file to enabled them.
# See the Lynx source code distribution and the userdefs.h
# file for more detail on enabling execution links and scripts.
#
# If you have enabled execution links or scripts the following
# two variables control Lynx's action when an execution link
# or script is encountered.
#
# If LOCAL_EXECUTION_LINKS_ALWAYS_ON is set to TRUE any execution
# link or script will be executed no matter where it came from.
# This is EXTREMELY dangerous.  Since Lynx can access files from
# anywhere in the world, you may encounter links or scripts that
# will cause damage or compromise the security of your system.
#
# If LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE is set to TRUE only
# links or scripts that reside on the local machine and are
# referenced with a URL beginning with "file://localhost/" or meet
# TRUSTED_EXEC or ALWAYS_TRUSTED_EXEC rules (see below) will be
# executed.  This is much less dangerous than enabling all execution
# links, but can still be dangerous.
#
#LOCAL_EXECUTION_LINKS_ALWAYS_ON:FALSE
#LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE:FALSE

# If LOCAL_EXECUTION_LINK_ON_BUT_NOT_REMOTE is TRUE, and no TRUSTED_EXEC
# rule is defined, it defaults to "file://localhost/" and any lynxexec
# or lynxprog command will be permitted if it was referenced with a URL
# beginning with that string.  If you wish to restrict the referencing URL's
# further, you can extend the string to include a trusted path.  You also can
# specify a trusted directory for http URL's, which will then be treated as
# if they were local rather than remote.  For example:
#
#	TRUSTED_EXEC:file://localhost/trusted/
#	TRUSTED_EXEC:http://www.wfbr.edu/trusted/
#
# If you also wish to restrict the commands which can be executed, create
# a series of rules with the path (Unix) or command name (VMS) following
# the string, separated by a tab.  For example:
#
# Unix:
#	TRUSTED_EXEC:file://localhost/<tab>/bin/cp
#	TRUSTED_EXEC:file://localhost/<tab>/bin/rm
# VMS:
#	TRUSTED_EXEC:file://localhost/<tab>copy
#	TRUSTED_EXEC:file://localhost/<tab>delete
#
# Once you specify a TRUSTED_EXEC referencing string, the default is
# replaced, and all the referencing strings you desire must be specified
# as a series.  Similarly, if you associate a command with the referencing
# string, you must specify all of the allowable commands as a series of
# TRUSTED_EXEC rules for that string.  If you specify ALWAYS_TRUSTED_EXEC
# rules below, you need not repeat them as TRUSTED_EXEC rules.
#
# If EXEC_LINKS and JUMPFILE have been defined, any lynxexec or lynxprog
# URL's in that file will be permitted, regardless of other settings.  If
# you also set LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE:TRUE and a single
# TRUSTED_EXEC rule that will always fail (e.g., "none"), then *ONLY* the
# lynxexec or lynxprog URL's in JUMPFILE (and any ALWAYS_TRUSTED_EXEC rules,
# see below) will be allowed.  Note, however, that if Lynx was compiled with
# CAN_ANONYMOUS_JUMP set to FALSE (default is TRUE), or -restrictions=jump
# is included with the -anonymous switch at run time, then users of an
# anonymous account will not be able to access the jumps file or enter
# 'j'ump shortcuts, and this selective execution feature will be overridden
# as well (i.e., they will only be able to access lynxexec or lynxprog
# URLs which meet any ALWAYS_TRUSTED_EXEC rules).
#
#TRUSTED_EXEC:none

# If EXEC_LINKS was defined, any lynxexec or lynxprog URL can be made
# always enabled by an ALWAYS_TRUSTED_EXEC rule for it.  This is useful for
# anonymous accounts in which you have disabled execution links generally,
# and may also have disabled jumps file links, but still want to allow
# execution of particular utility scripts or programs.  The format is
# like that for TRUSTED_EXEC.  For example:
#
# Unix:
#   ALWAYS_TRUSTED_EXEC:file://localhost/<tab>/usr/local/kinetic/bin/usertime
#   ALWAYS_TRUSTED_EXEC:http://www.more.net/<tab>/usr/local/kinetic/bin/who.sh
# VMS:
#   ALWAYS_TRUSTED_EXEC:file://localhost/<tab>usertime
#   ALWAYS_TRUSTED_EXEC:http://www.more.net/<tab>show users
#
# The default ALWAYS_TRUSTED_EXEC rule is "none".
#
#ALWAYS_TRUSTED_EXEC:none

# Unix:
# =====
# TRUSTED_LYNXCGI rules define the permitted sources and/or paths for
# lynxcgi links (if LYNXCGI_LINKS is defined in userdefs.h).  The format
# is the same as for TRUSTED_EXEC rules (see above), but no defaults are
# defined, i.e., if no TRUSTED_LYNXCGI rules are defined here, any source
# and path for lynxcgi links will be permitted.  Example rules:
#
#	TRUSTED_LYNXCGI:file://localhost/
# 	TRUSTED_LYNXCGI:<tab>/usr/local/etc/httpd/cgi-bin/
# 	TRUSTED_LYNXCGI:file://localhost/<tab>/usr/local/www/cgi-bin/
#
# VMS:
# ====
# Do not define this.
#
#TRUSTED_LYNXCGI:none

# Unix:
# =====
# LYNXCGI_ENVIRONMENT adds the current value of the specified
# environment variable to the list of environment variables passed on to the
# lynxcgi script.  Useful variables are HOME, USER, EDITOR, etc...
#
# VMS:
# ====
# Do not define this.
#
#LYNXCGI_ENVIRONMENT:

# Unix:
# =====
# LYNXCGI_DOCUMENT_ROOT is the value of DOCUMENT_ROOT that will be passed
# to lynxcgi scripts.  If set and the URL has PATH_INFO data, then
# PATH_TRANSLATED will also be generated.  Examples:
#	LYNXCGI_DOCUMENT_ROOT:/usr/local/etc/httpd/htdocs
#	LYNXCGI_DOCUMENT_ROOT:/data/htdocs/
#
# VMS:
# ====
# Do not define this.
#
#LYNXCGI_DOCUMENT_ROOT:

# If FORCE_SSL_COOKIES_SECURE is set to TRUE, then SSL encrypted cookies
# received from https servers never will be sent unencrypted to http
# servers.  The compilation default is to impose this block only if the
# https server included a secure attribute for the cookie.  The normal
# default or that defined here can be toggled via the -force_secure
# command line switch.
#
#FORCE_SSL_COOKIES_SECURE:FALSE

#  MAIL_SYSTEM_ERROR_LOGGING will send a message to the owner of
#  the information, or ALERTMAIL if there is no owner, every time
#  that a document cannot be accessed!
#
#  NOTE:  This can generate A LOT of mail, be warned.
#
#MAIL_SYSTEM_ERROR_LOGGING:FALSE

# If CHECKMAIL is set to TRUE, the user will be informed (via a statusline
# message) about the existence of any unread mail at startup of Lynx, and
# will get statusline messages if subsequent new mail arrives.  If a jumps
# file with a lynxprog URL for invoking mail is available, or your html
# pages include an mail launch file URL, the user thereby can access mail
# and read the messages.  The checks and statusline reports will not be
# performed if Lynx has been invoked with the -restrictions=mail switch.
#
#  VMS USERS !!!
# New mail is normally broadcast as it arrives, via "unsolicited screen
# broadcasts", which can be "wiped" from the Lynx display via the Ctrl-W
# command.  You may prefer to disable the broadcasts and use CHECKMAIL
# instead (e.g., in a public account which will be used by people who
# are ignorant about VMS).
#
#CHECKMAIL:FALSE

# To enable news reading ability via Lynx, the environment variable NNTPSERVER
# must be set so that it points to your site's NNTP server (see INSTALLATION).
# Lynx respects RFC 1738 (http://www.ics.uci.edu/pub/ietf/uri/rfc1738.txt)
# and does not accept a host field in news URLs (use nntp: instead of news: for
# the scheme if you wish to specify an NNTP host in a URL, as explained in the
# RFC).  If you have not set the variable externally, you can set it at run
# time via this configuration file.  It will not override an external setting.
# Note that on VMS it is set as a process logical rather than symbol, and will
# outlive the Lynx image.
# The news reading facility in Lynx is quite limited.  Lynx does not provide a
# full featured news reader with elaborate error checking and safety features.
#
#NNTPSERVER:news.server.dom

# If LIST_NEWS_NUMBERS is set TRUE, Lynx will use an ordered list and include
# the numbers of articles in news listings, instead of using an unordered
# list.  The default is defined in userdefs.h, and can be overridden here.
#
#LIST_NEWS_NUMBERS:FALSE

# If LIST_NEWS_DATES is set TRUE, Lynx will include the dates of articles in
# news listings.  The dates always are included in the articles, themselves.
# The default is defined in userdefs.h, and can be overridden here.
#
#LIST_NEWS_DATES:FALSE

# NEWS_CHUNK_SIZE and NEWS_MAX_CHUNK regulate the chunking of news article
# listings with inclusion of links for listing earlier and/or later articles.
# The defaults are defined in HTNews.c as 30 and 40, respectively.  If the
# news group contains more than NEWS_MAX_CHUNK articles, they will be listed
# in NEWS_CHUNK_SIZE chunks.  You can change the defaults here, and/or on
# the command line via -newschunksize=NUMBER and/or -newsmaxchunk=NUMBER
# switches.  Note that if the chunk size is increased, here or on the command
# line, to a value greater than the current maximum, the maximum will be
# increased to that number.  Conversely, if the maximum is set to a number
# less than the current chunk size, the chunk size will be reduced to that
# number.  Thus, you need use only one of the two switches on the command
# line, based on the direction of intended change relative to the compilation
# or configuration defaults.  The compilation defaults ensure that there will
# be at least 10 earlier articles before bothering to chunk and create a link
# for earlier articles.
#
#NEWS_CHUNK_SIZE:30
#NEWS_MAX_CHUNK:40

# Set NEWS_POSTING to FALSE if you do not want to support posting to
# news groups via Lynx.  If left TRUE, Lynx will use its news gateway to
# post new messages or followups to news groups, using the URL schemes
# described in the "Supported URLs" section of the online 'h'elp.  The
# posts will be attempted via the nntp server specified in the URL, or
# if none was specified, via the NNTPSERVER configuration or environment
# variable.  Links with these URLs for posting or sending followups are
# created by the news gateway when reading group listings or articles
# from nntp servers if the server indicates that it permits posting.
# The compilation default set in userdefs.h can be changed here.  If
# the default is TRUE, posting can still be disallowed via the
# -restrictions command line switch.
# The posting facility in Lynx is quite limited.  Lynx does not provide a
# full featured news poster with elaborate error checking and safety features.
#
#NEWS_POSTING:TRUE

# LYNX_SIG_FILE defines the name of a file containing a signature which
# can be appended to email messages and news postings or followups.  The
# user will be prompted whether to append it.  It is sought in the home
# directory.  If it is in a subdirectory, begin it with a dot-slash
# (e.g., ./lynx/.lynxsig).  The definition is set in userdefs.h and can
# be changed here.
#
#LYNX_SIG_FILE:.lynxsig

# If USE_MOUSE is set TRUE, Lynx (when configured with ncurses) will allow
# the user to click with button-1 on links to select them.
#USE_MOUSE:FALSE

# If COLLAPSE_BR_TAGS is set FALSE, Lynx will not collapse serial BR tags.
# If set TRUE, two or more concurrent BRs will be collapsed into a single
# line break.  Note that the valid way to insert extra blank lines in HTML
# is via a PRE block with only newlines in the block.
#
#COLLAPSE_BR_TAGS:TRUE

# If TAGSOUP is set, Lynx uses the "Tag Soup DTD" rather than "SortaSGML".
# The two approaches differ by the style of error detection and recovery.
# Tag Soup DTD allows for improperly nested tags; SortaSGML is stricter.
#TAGSOUP:FALSE

# If SET_COOKIES is set FALSE, Lynx will ignore Set-Cookie headers
# in http server replies.
# The default is defined in userdefs.h, and can be overridden here,
# and/or toggled via the -cookies command line switch.
#
#SET_COOKIES:TRUE

# If ACCEPT_ALL_COOKIES is set TRUE, Lynx will accept cookies from all
# domains with no user interaction.
# The default is defined in userdefs.h and can be overridden here,
# and/or toggled via the -accept_all_cookies command line switch.
#
#ACCEPT_ALL_COOKIES:FALSE

# COOKIE_ACCEPT_DOMAINS and COOKIE_REJECT_DOMAINS are comma-delimited lists of
# domains (with a leading '.') to automatically accept or reject all cookies
# from.  These can also be specified in the lynxrc file, and are overridden by
# the ACCEPT_ALL_COOKIES parameter.  If a single domain is specified in both
# COOKIE_ACCEPT_DOMAINS and in COOKIE_REJECT_DOMAINS, the rejection will take
# precedence.
#
#COOKIE_ACCEPT_DOMAINS:
#COOKIE_REJECT_DOMAINS:

# COOKIE_FILE is the default file to store persistent downloaded cookies
# in, if Lynx was compiled with EXP_PERSISTENT_COOKIES.  The cookie file
# can also be specified in .lynxrc or on the commandline.
#COOKIE_FILE:~/.lynx_cookies

# PERSISTENT_COOKIES indicates that cookies should be stored for use between
# Lynx sessions.  It is only used if Lynx was compiled with
# EXP_PERSISTENT_COOKIES.  Use this flag to disable the feature.
#PERSISTENT_COOKIES:TRUE

# VMS:
#=====
# The mail command and qualifiers are defined in userdefs.h.  Lynx
# will spawn a subprocess to send replies and error messages.  The
# command, and qualifiers (if any), can be re-defined here.  If
# you use PMDF then headers will we passed via a header file.
# If you use "generic" VMS MAIL, the subject will be passed on the
# command line via a /subject="SUBJECT" qualifier, and inclusion
# of other relevant headers may not be possible.
# If your mailer uses another syntax, some hacking of the mailform()
# mailmsg() and reply_by_mail() functions in LYMail.c, and printfile()
# function in LYPrint.c, may be required.
#
#SYSTEM_MAIL:PMDF SEND
#SYSTEM_MAIL_FLAGS:/headers
#
#SYSTEM_MAIL:MAIL
#SYSTEM_MAIL_FLAGS:

# Unix:
#======
# The mail path and flags normally are defined for sendmail (or submit
# with MMDF) in userdefs.h.  You can change them here, but should first
# read the zillions of CERT advisories about security problems with Unix
# mailers.
#
#SYSTEM_MAIL:/usr/mmdf/bin/submit
#SYSTEM_MAIL_FLAGS:-mlruxto,cc\*
#
#SYSTEM_MAIL:/usr/sbin/sendmail
#SYSTEM_MAIL_FLAGS:-t -oi
#
#SYSTEM_MAIL:/usr/lib/sendmail
#SYSTEM_MAIL_FLAGS:-t -oi

# VMS ONLY:
#==========
# MAIL_ADRS is defined in userdefs.h and normally is structured for PMDF's
# IN%"INTERNET_ADDRESS" scheme.  The %s is replaced with the address given
# by the user.  If you are using a different Internet mail transport, change
# the IN appropriately (e.g., to SMTP, MX, or WINS).
#
#MAIL_ADRS:"IN%%""%s"""

# VMS ONLY:
#==========
# If USE_FIXED_RECORDS is set to TRUE here or in userdefs.h, Lynx will
# convert 'd'ownloaded binary files to FIXED 512 record format before saving
# them to disk or acting on a DOWNLOADER option.  If set to FALSE, the
# headers of such files will indicate that they are Stream_LF with Implied
# Carriage Control, which is incorrect, and can cause downloading software
# to get confused and unhappy.  If you do set it FALSE, you can use the
# FIXED512.COM command file, which is included in this distribution, to do
# the conversion externally.
#
#USE_FIXED_RECORDS:TRUE

# VI_KEYS can be turned on by the user in the options
# screen or the .lynxrc file.  This is just the default.
#
#VI_KEYS_ALWAYS_ON:FALSE

# EMACS_KEYS can be turned on by the user in the options
# screen or the .lynxrc file.  This is just the default.
#
#EMACS_KEYS_ALWAYS_ON:FALSE

# DEFAULT_KEYPAD_MODE specifies whether numbers work like arrows or
# numbered links.
# DEFAULT_KEYPAD_MODE set to TRUE indicates numbers act as arrows,
# and set to FALSE indicates numbers refer to numbered links on the page.
# LINKS_AND_FORM_FIELDS_ARE_NUMBERED cannot currently be set by this option.
#
#DEFAULT_KEYPAD_MODE_IS_NUMBERS_AS_ARROWS:TRUE

# The default search type.
# This is a default that can be overridden by the user!
#
#CASE_SENSITIVE_ALWAYS_ON:FALSE

# DEFAULT_BOOKMARK_FILE is the filename used for storing personal bookmarks.
# It will be prepended by the user's home directory.
# NOTE that a file ending in .html or other suffix mapped to text/html
# should be used to ensure its treatment as HTML.  The built-in default
# is lynx_bookmarks.html.  On both Unix and VMS, if a subdirectory off of
# the HOME directory is desired, the path should begin with "./" (e.g.,
# ./BM/lynx_bookmarks.html), but the subdirectory must already exist.
# Lynx will create the bookmark file, if it does not already exist, on
# the first ADD_BOOKMARK attempt if the HOME directory is indicated
# (i.e., if the definition is just filename.html without any slashes),
# but requires a pre-existing subdirectory to create the file there.
# The user can re-define the default bookmark file, as well as a set
# of sub-bookmark files if multiple bookmark file support is enabled
# (see below), via the 'o'ptions menu, and can save those definitions
# in the .lynxrc file.
#
#DEFAULT_BOOKMARK_FILE:lynx_bookmarks.html

# If MULTI_BOOKMARK_SUPPORT is set TRUE, and BLOCK_MULTI_BOOKMARKS (see
# below) is FALSE, and sub-bookmarks exist, all bookmark operations will
# first prompt the user to select an active sub-bookmark file or the
# default bookmark file.  FALSE is the default so that one (the default)
# bookmark file will be available initially.  The definition here will
# override that in userdefs.h.  The user can turn on multiple bookmark
# support via the 'o'ptions menu, and can save that choice as the startup
# default via the .lynxrc file.  When on, the setting can be STANDARD or
# ADVANCED.  If SUPPORT is set to the latter, and the user mode also is
# ADVANCED, the VIEW_BOOKMARK command will invoke a statusline prompt at
# which the user can enter the letter token (A - Z) of the desired bookmark,
# or '=' to get a menu of available bookmark files.  The menu always is
# presented in NOVICE or INTERMEDIATE mode, or if the SUPPORT is set to
# STANDARD.  No prompting or menu display occurs if only one (the startup
# default) bookmark file has been defined (define additional ones via the
# 'o'ptions menu).  The startup default, however set, can be overridden on
# the command line via the -restrictions=multibook or the -anonymous or
# -validate switches.
#
#MULTI_BOOKMARK_SUPPORT:FALSE

# If BLOCK_MULTI_BOOKMARKS is set TRUE, multiple bookmark support will
# be forced off, and cannot to toggled on via the 'o'ptions menu.  The
# compilation setting is normally FALSE, and can be overridden here.
# It can also be set via the -restrictions=multibook or the -anonymous
# or -validate command line switches.
#
#BLOCK_MULTI_BOOKMARKS:FALSE

# DEFAULT_USER_MODE sets the default user mode for Lynx users.
# NOVICE shows a three line help message at the bottom of the screen.
# INTERMEDIATE shows normal amount of help (one line).
# ADVANCED help is replaced by the URL of the current link.
#
#DEFAULT_USER_MODE:NOVICE

# DEFAULT_EDITOR sets the default editor for Lynx users.
# If an editor is defined then the user may edit local documents
# using that editor.  The editor will also be used for sending
# mail messages.  If no editor is defined here or by the user
# the user will not be able to edit local documents and a primitive
# line oriented mail input mode will be used.
# NOTE: Do not define an editor unless you know that every user will
#       know how to use it.  Most users do not enjoy getting stuck in
#       an unknown editor that they can't exit.  Users can
#       easily define an editor of their own using the options menu,
#       so it is not always desirable to set the DEFAULT_EDITOR.
#
#DEFAULT_EDITOR:

# SYSTEM_EDITOR behaves the same as DEFAULT_EDITOR except that it can't be
# changed.
#
#SYSTEM_EDITOR:

# Proxy variables
# Lynx version 2.2 and beyond supports the use of proxy servers that can act as
# firewall gateways and caching servers.  They are preferable to the older
# gateway servers.  Each protocol used by Lynx can be mapped separately using
# PROTOCOL_proxy environment variables (see INSTALLATION).  If you have not set
# them externally, you can set them at run time via this configuration file.
# They will not override external settings.  The no_proxy variable can be used
# to inhibit proxying to selected regions of the Web (see below).  Note that on
# VMS these proxy variables are set as process logicals rather than symbols, to
# preserve lowercasing, and will outlive the Lynx image.
#
#http_proxy:http://some.server.dom:port/
#https_proxy:http://some.server.dom:port/
#ftp_proxy:http://some.server.dom:port/
#gopher_proxy:http://some.server.dom:port/
#news_proxy:http://some.server.dom:port/
#newspost_proxy:http://some.server.dom:port/
#newsreply_proxy:http://some.server.dom:port/
#snews_proxy:http://some.server.dom:port/
#snewspost_proxy:http://some.server.dom:port/
#snewsreply_proxy:http://some.server.dom:port/
#nntp_proxy:http://some.server.dom:port/
#wais_proxy:http://some.server.dom:port/
#finger_proxy:http://some.server.dom:port/
#cso_proxy:http://some.server.dom:port/
#no_proxy:host.domain.dom

# The no_proxy variable can be a comma-separated list of strings defining
# no-proxy zones in the DNS domain name space.  If a tail substring of the
# domain-path for a host matches one of these strings, transactions with that
# node will not be proxied.
#no_proxy:domain.path1,path2
#
# A single asterisk as an entry will override all proxy variables and no
# transactions will be proxied.
#no_proxy:*
# This is the only allowed use of * in no_proxy.
#
# Warning:  Note that setting 'il' as an entry in this list will block proxying
# for the .mil domain as well as the .il domain.  If the entry is '.il' this
# will not happen.

# PRINTER & DOWNLOADER DEFINITIONS:
# Lynx has 4 pre-defined print options & 1 pre-defined download option,
# which are called up on-screen when `p' or `d' are entered;
# any number of options can be added by the user, as explained below.
#
# For `p' pre-defined options are: `Save to local file', `E-mail the file',
# `Print to screen' and `Print to local printer attached to vt100'.
# `Print to screen' allows file transfers in the absence of alternatives
# and is often the only option allowed here for anonymous users;
# the 3rd & 4th options are not pre-defined for DOS/WINDOWS versions of Lynx.
# For `d' the pre-defined option is: `Download to local file'.
#
# To define your own print or download option use the following formats:
# PRINTER:<name>:<command>:<option>:<lines/page>
# DOWNLOADER:<name>:<command>:<option>
#
# <name>       is what you will see on the print/download screen.
# <command>    is the command your system will execute:
#              the 1st %s in the command will be replaced
#              by the temporary filename used by Lynx;
#              a 2nd %s will be replaced by a filename of your choice,
#              for which Lynx will prompt, offering a suggestion;
#              if the command format of your printer/downloader requires
#              a different layout, you will need to use a script
#              (see the last 2 download examples below).
# <option>     TRUE : the printer/downloader will always be ENABLED,
#              except that downloading is disabled when -validate is used;
#              FALSE : both will be DISABLED for anonymous users
#              and printing will be disabled when -noprint is used.
# <lines/page> (printers: optional) the number of lines/page (default 66):
#              used to compute the approximate output size
#              and prompt if the document is > 4 printer pages;
#              it uses current screen length for the computation
#              when `Print to screen' is selected.
#
# You must put the whole definition on one line;
# if you use a colon, precede it with a backslash.
#
# `Printer' can be any file-handling program you find useful,
# even if it does not physically print anything.
#
# Usually, downloading involves the use of (e.g.) Ckermit or ZModem
# to transfer files to a user's local machine over a serial link,
# but download options do not have to be download-protocol programs.
#
# Printer examples:
#PRINTER:Computer Center printer:lpr -Pccprt %s:FALSE
#PRINTER:Office printer:lpr -POffprt %s:TRUE
#PRINTER:VMS printer:print /queue=cc$print %s:FALSE:58
# If you have a very busy VMS print queue
# and Lynx deletes the temporary files before they have been queued,
# use the VMSPrint.com included in the distribution:
#PRINTER:Busy VMS printer:@Lynx_Dir\:VMSPrint sys$print %s:FALSE:58
# To specify a print option at run-time:
# NBB if you have ANONYMOUS users, DO NOT allow this option!
#PRINTER:Specify at run-time:echo -n "Enter a print command\: "; read word; sh -c "$word %s":FALSE
# To pass to a sophisticated file viewer: -k suppresses invocation
# of hex display mode if 8-bit or control characters are present;
# +s invokes secure mode (see ftp://space.mit.edu/pub/davis/most):
#PRINTER:Use Most to view:most -k +s %s:TRUE:23
#
# Downloader examples:
# in Kermit, -s %s is the filename sent, -a %s the filename on arrival
# (if they are given in reverse order here, the command will fail):
#DOWNLOADER:Use Kermit to download to the terminal:kermit -i -s %s -a %s:TRUE
# NB don't use -k with Most, so that binaries will invoke hexadecimal mode:
#DOWNLOADER:Use Most to view:most +s %s:TRUE
# The following example gives wrong filenames
# (`sz' doesn't support a suggested filename parameter):
#DOWNLOADER:Use Zmodem to download to the local terminal:sz %s:TRUE
# The following example returns correct filenames
# by using a script to make a subdirectory in /tmp,
# but may conflict with very strong security or permissions restrictions:
#DOWNLOADER:Use Zmodem to download to the local terminal:set %s %s;td=/tmp/Lsz$$;mkdir $td;ln -s $1 $td/"$2";sz $td/"$2";rm -r $td:TRUE

# Unix ONLY:
#===========
# Uploader definitions (implemented only with Unix DIRED_SUPPORT;
#                       see the Makefile in the top directory,
#			and the header of ./src/LYUpload.c)
# any number of uploaders may be defined by using multiple
# uploader definition sets.  Uploaders may be any programs
# that could be useful to your users; they do not necessarily
# have to be upload protocol programs.  The most common use
# of an uploader is to use Ckermit or some other transfer
# program so that the user may easily transfer files from
# their local machine over a serial link.
#
# the definition of an uploader is of the same form as a downloader
# UPLOADER:<uploadername>:<uploader command>:<uploader option>
#
#  You must put the whole definition on one line.
#
#  If you must use a colon, precede it with a backslash!
#
#  If you do not include a %s, you will not be prompted for an
#  output filename.
#
#    example
#UPLOADER:Use Kermit to upload from your computer: kermit -i -r -a %s:TRUE
#UPLOADER:Use Zmodem to upload from your computer: rz %s:TRUE

# If NO_DOT_FILES is TRUE (normal default via userdefs.h), the user will not
# be allowed to specify files beginning with a dot in reply to output filename
# prompts, and files beginning with a dot (e.g., file://localhost/path/.lynxrc)
# will not be included in the directory browser's listings.  If set FALSE, you
# can force it to be treated as TRUE via -restrictions=dotfiles.  If set FALSE
# and not forced TRUE, the user can regulate it via the 'o'ptions menu (and
# may save the preference in the RC file).
#
#NO_DOT_FILES:TRUE

# If NO_FROM_HEADER is set FALSE, From headers will be sent in transmissions
# to http or https servers if the personal_mail_address has been defined via
# the 'o'ptions menu.  The compilation default is TRUE (no From header is
# sent) and the default can be changed here.  The default can be toggled at
# run time via the -from switch.  Note that transmissions of From headers
# have become widely considered to create an invasion of privacy risk.
#
#NO_FROM_HEADER:TRUE

# If NO_REFERER_HEADER is TRUE, Referer headers never will be sent in
# transmissions to servers.  Lynx normally sends the URL of the document
# from which the link was derived, but not for startfile URLs, 'g'oto
# URLs, 'j'ump shortcuts, bookmark file links, history list links, or
# URLs that include the content from form submissions with method GET.
# If left FALSE here, it can be set TRUE at run time via the -noreferer
# switch.
#
#NO_REFERER_HEADER:FALSE

# If NO_FILE_REFERER is TRUE, Referer headers never will be sent in
# transmissions to servers for links or actions derived from documents
# or forms with file URLs.  This would ensure that paths associated
# with the local file system are never indicated to servers, even if
# NO_REFERER_HEADER is FALSE.  If left FALSE here, it can be set TRUE
# at run time via the -nofilereferer switch.
#
#NO_FILE_REFERER:FALSE

# If MAKE_LINKS_FOR_ALL_IMAGES is TRUE, all images will be given links
# which can be ACTIVATEd.  For inlines, the ALT or pseudo-ALT ("[INLINE]")
# strings will be links for the resolved SRC rather than just text.  For
# ISMAP or other graphic links, the ALT or pseudo-ALT ("[ISMAP]" or "[LINK]")
# strings will have '-' and a link labeled "[IMAGE]" for the resolved SRC
# appended.  See also VERBOSE_IMAGES flag.
#
# The default defined here will override that in userdefs.h, and the user
# can use LYK_IMAGE_TOGGLE to toggle the feature on or off at run time.
#
# The default also can be toggled via an "-image_links" command line switch.
#
#MAKE_LINKS_FOR_ALL_IMAGES:FALSE

# If MAKE_PSEUDO_ALTS_FOR_INLINES is FALSE, inline images which do not
# specify an ALT string will not have "[INLINE]" inserted as a pseudo-ALT,
# i.e., they'll be treated as having ALT="".  If MAKE_LINKS_FOR_ALL_IMAGES
# is defined or toggled to TRUE, however, the pseudo-ALTs will be created
# for inlines, so that they can be used as links to the SRCs.
# See also VERBOSE_IMAGES flag.
#
# The default defined here will override that in userdefs.h, and the user
# can use LYK_INLINE_TOGGLE to toggle the feature on or off at run time.
#
# The default also can be toggled via a "-pseudo_inlines" command line
# switch.
#
#MAKE_PSEUDO_ALTS_FOR_INLINES:TRUE

# If SUBSTITUTE_UNDERSCORES is TRUE, the _underline_ format will be used
# for emphasis tags in dumps.
#
# The default defined here will override that in userdefs.h, and the user
# can toggle the default via a "-underscore" command line switch.
#
#SUBSTITUTE_UNDERSCORES:FALSE

# If QUIT_DEFAULT_YES is TRUE then when the QUIT command is entered, any
# response other than n or N will confirm.  It should be FALSE if you
# prefer the more conservative action of requiring an explicit Y or y to
# confirm.  The default defined here will override that in userdefs.h.
#
#QUIT_DEFAULT_YES:TRUE

# If HISTORICAL_COMMENTS is TRUE, Lynx will revert to the "Historical"
# behavior of treating any '>' as a terminator for comments, instead of
# seeking a valid '-->' terminator (note that white space can be present 
# between the '--' and '>' in valid terminators).  The compilation default
# is FALSE.
#
# The compilation default, or default defined here, can be toggled via a
# "-historical" command line switch, and via the LYK_HISTORICAL command key.
#
#HISTORICAL_COMMENTS:FALSE

# If MINIMAL_COMMENTS is TRUE, Lynx will not use Valid comment parsing
# of '--' pairs as serial comments within an overall comment element,
# and instead will seek only a '-->' terminator for the overall comment
# element.  This emulates the Netscape v2.0 comment parsing bug, and
# will help Lynx cope with the use of dashes as "decorations", which
# consequently has become common in so-called "Enhanced for Netscape"
# pages.  Note that setting Historical comments on will override the
# Minimal or Valid setting.
#
# The compilation default for MINIMAL_COMMENTS is FALSE, but we'll
# set it TRUE here, until Netscape gets its comment parsing right,
# and "decorative" dashes cease to be so common.
#
# The compilation default, or default defined here, can be toggled via a
# "-minimal" command line switch, and via the LYK_MINIMAL command key.
#
MINIMAL_COMMENTS:TRUE

# If SOFT_DQUOTES is TRUE, Lynx will emulate the invalid behavior of
# treating '>' as a co-terminator of a double-quoted attribute value
# and the tag which contains it, as was done in old versions of Netscape
# and Mosaic.  The compilation default is FALSE.
#
# The compilation default, or default defined here, can be toggled via
# a "-soft_dquotes" command line switch.
#
#SOFT_DQUOTES:FALSE

# If STRIP_DOTDOT_URLS is TRUE, Lynx emulates the invalid behavior of many
# browsers to strip a leading "../" segment from relative URLs in HTML
# documents with a http or https base URL, if this would otherwise lead to
# an absolute URLs with those characters still in it.  Such URLs are normally
# erroneous and not what is intended by page authors.  Lynx will issue
# a warning message when this occurs.
#
# If STRIP_DOTDOT_URLS is FALSE, Lynx will use those URLs for requests
# without taking any special actions or issuing Warnings, in most cases
# this will result in an error response from the server.
#
# Note that Lynx never tries to fix similar URLs for protocols other than
# http and https, since they are less common and may actually be valid in
# some cases.
#
#STRIP_DOTDOT_URLS:TRUE

# If ENABLE_SCROLLBACK is TRUE, Lynx will clear the entire screen before
# displaying each new screenful of text.  Though less efficient for normal
# use, this allows programs that maintain a buffer of previously-displayed
# text to recognize the continuity of what has been displayed, so that
# previous screenfuls can be reviewed by whatever method the program uses
# to scroll back through previous text.  For example, the PC comm program
# QModem has a key that can be pressed to scroll back; if ENABLE_SCROLLBACK
# is TRUE, pressing the scrollback key will access previous screenfuls which
# will have been stored on the local PC and will therefore be displayed
# instantaneously, instead of needing to be retransmitted by Lynx at the
# speed of the comm connection (but Lynx will not know about the change,
# so you must restore the last screen before resuming with Lynx commands).
#
# The compilation default is FALSE (if REVERSE_CLEAR_SCREEN_PROBLEM was not
# defined in the Unix Makefile to invoke this behavior as a workaround for
# some poor curses implementations).
#
# The default compilation or configuration setting can be toggled via an
# "-enable_scrollback" command line switch.
#
#ENABLE_SCROLLBACK:FALSE

# If SCAN_FOR_BURIED_NEWS_REFS is set to TRUE, Lynx will scan the bodies
# of news articles for buried article and URL references and convert them
# to links.  The compilation default is TRUE, but some email addresses
# enclosed in angle brackets ("<user@address>") might be converted to false
# news links, and uuencoded messages might be corrupted.  The conversion is
# not done when the display is toggled to source or when 'd'ownloading, so
# uuencoded articles can be saved intact regardless of these settings.
#
# The default setting can be toggled via a "-buried_news" command line
# switch.
#
#SCAN_FOR_BURIED_NEWS_REFS:TRUE

# If PREPEND_BASE_TO_SOURCE is set to FALSE, Lynx will not prepend a
# Request URL comment and BASE element to text/html source files when
# they are retrieved for 'd'ownloading or passed to 'p'rint functions.
# The compilation default is TRUE.  Note that this prepending is not
# done for -source dumps, unless the -base switch also was included on
# the command line, and the latter switch overrides the setting of the
# PREPEND_BASE_TO_SOURCE configuration variable.
#
#PREPEND_BASE_TO_SOURCE:TRUE

# MIME types and viewers!
#
# file extensions may be assigned to MIME types using
# the SUFFIX: definition.
#
# The SUFFIX definition takes the form of:
#    SUFFIX:<file extension>:<mime type>
# for instance the following definition maps the
# extension ".gif" to the mime type "image/gif"
#    SUFFIX:.gif:image/gif
#
# file suffixes are case INsensitive!
#
# The suffix definitions listed here in the default lynx.cfg file are
# among those established via src/HTInit.c.  You can change any of the
# defaults by editing that file, or via the global or personal mime.types
# files at run time.  They will be overridden if you assign them here.
#
#SUFFIX:.ps:application/postscript
#SUFFIX:.eps:application/postscript
#SUFFIX:.ai:application/postscript
#SUFFIX:.rtf:application/x-rtf
#SUFFIX:.snd:audio/basic
#SUFFIX:.gif:image/gif
#SUFFIX:.rgb:image/x-rgb
#SUFFIX:.pict:image/x-pict
#SUFFIX:.xbm:image/x-xbitmap
#SUFFIX:.tiff:image/x-tiff
#SUFFIX:.jpg:image/jpeg
#SUFFIX:.jpeg:image/jpeg
#SUFFIX:.mpg:video/mpeg
#SUFFIX:.mpeg:video/mpeg
#SUFFIX:.mov:video/quicktime
#SUFFIX:.hqx:application/octet-stream
#SUFFIX:.bin:application/octet-stream
#SUFFIX:.exe:application/octet-stream
#SUFFIX:.tar:application/octet-stream
#SUFFIX:.Z:application/octet-stream
#SUFFIX:.gz:application/octet-stream
#SUFFIX:.bz2:application/octet-stream
#SUFFIX:.zip:application/octet-stream
#SUFFIX:.lzh:application/octet-stream
#SUFFIX:.lha:application/octet-stream
#SUFFIX:.dms:application/octet-stream

# The global and personal EXTENSION_MAP files allow you to assign extensions
# to MIME types which will override any of the suffix maps in this (lynx.cfg)
# configuration file, or in src/HTInit.c.  See the example mime.types file
# in the samples subdirectory.
#
# 	Unix:
#GLOBAL_EXTENSION_MAP:/usr/local/lib/mosaic/mime.types
# 	VMS:
#GLOBAL_EXTENSION_MAP:Lynx_Dir:mime.types
#
#	Unix (sought in user's home directory):
#PERSONAL_EXTENSION_MAP:.mime.types
#	VMS (sought in user's sys$login directory):
#PERSONAL_EXTENSION_MAP:mime.types

# VMS:
# ====
# XLOADIMAGE_COMMAND will be used as a default in src/HTInit.c
# for viewing image content types when the DECW$DISPLAY logical
# is set.  Make it the foreign command for your system's X image
# viewer (commonly, "xv").  Make it "exit" or something like that
# if you don't have one.  It can be anything that will handle GIF,
# TIFF and other popular image formats.  Freeware ports of xv for
# VMS are available in the ftp://ftp.wku.edu/vms/unsupported and
# http://www.openvms.digital.com/cd/XV310A/ subdirectories.  You
# must also have a "%s" for the filename.  The default is defined
# in userdefs.h and can be overridden here, or via the global or
# personal mailcap files (see below).
#
#XLOADIMAGE_COMMAND:xv %s

# Unix:
# =====
# XLOADIMAGE_COMMAND will be used as a default in src/HTInit.c for
# viewing image content types when the DISPLAY environment variable
# is set.  Make it the full path and name of the xli (also know as
# xloadimage or xview) command, or other image viewer.  Put 'echo' or
# something like it here if you don't have a suitable viewer.  It can
# be anything that will handle GIF, TIFF and other popular image formats
# (xli does).  The freeware distribution of xli is available in the
# ftp://ftp.x.org/contrib subdirectory.  The shareware, xv, also is
# suitable.  You must also have a "%s" for the filename; "&" for
# background is optional.  The default is defined in userdefs.h and can be
# overridden here, or via the global or personal mailcap files (see below).
# Note that open is used as the default for NeXT, instead of the
# XLOADIMAGE_COMMAND definition.
# If you use xli, you may want to add the -quiet flag.
#
#XLOADIMAGE_COMMAND:xli %s &

# MIME types may be assigned to external viewers using
# the VIEWER definition.
#
# NOTE: if you do not define a viewer to a new MIME type
#       that you assigned above then it will be saved to
#       disk by default.
#
# The VIEWER definition takes the form of:
#    VIEWER:<mime type>:<viewer command>[:environment]
#      where -mime type is the MIME content type of the file
#	     -viewer command is a system command that can be
#             used to display the file where %s is replaced
#             within the command with the physical filename
#             (e.g. "ghostview %s" becomes "ghostview /tmp/temppsfile")
#            -environment is optional.  The only valid keywords
#             are currently XWINDOWS and NON_XWINDOWS.  If the XWINDOWS
#             environment is specified then the viewer will only be
#             defined when the user has the environment variable DISPLAY
#             (DECW$DISPLAY on VMS) defined.  If the NON_XWINDOWS environment
#             is specified the specified viewer will only be defined when the
#             user DOES NOT have the environment variable DISPLAY defined.
#  examples:
#		VIEWER:image/gif:xli %s:XWINDOWS
#               VIEWER:image/gif:ascii-view %s:NON_XWINDOWS
#               VIEWER:application/start-elm:elm
#
# You must put the whole definition on one line.
#
# If you must use a colon in the viewer command, precede it with a backslash!
#
# The MIME_type:viewer:XWINDOWS definitions listed here in the lynx.cfg
# file are among those established via src/HTInit.c.  For the image types,
# HTInit.c uses the XLOADIMAGE_COMMAND definition in userdefs.h or above
# (open is used for NeXT).  You can change any of these defaults via the
# global or personal mailcap files at run time.  They will be overridden
# if you assign them here.
#
#VIEWER:application/postscript:ghostview %s&:XWINDOWS
#VIEWER:image/gif:xli %s&:XWINDOWS
#VIEWER:image/x-xbm:xli %s&:XWINDOWS
#VIEWER:image/x-rgb:xli %s&:XWINDOWS
#VIEWER:image/x-tiff:xli %s&:XWINDOWS
#VIEWER:image/jpeg:xli %s&:XWINDOWS
#VIEWER:video/mpeg:mpeg_play %s &:XWINDOWS

# The global and personal MAILCAP files allow you to specify external
# viewers to be spawned when Lynx encounters different MIME types, which
# will override any of the suffix maps in this (lynx.cfg) configuration
# file, or in src/HTInit.c.  See http://www.internic.net/rfc/rfc1524.txt
# and the example mailcap file in the samples subdirectory.
#
#	Unix:
#GLOBAL_MAILCAP:/usr/local/lib/mosaic/mailcap
#	VMS:
#GLOBAL_MAILCAP:Lynx_Dir:mailcap
#
# 	Sought in user's home (Unix) or sys$login (VMS) directory.
#PERSONAL_MAILCAP:.mailcap

# If your terminal (or terminal emulator, or operating system) does not
# support 8-bit input (at all or in easy way), you can use Lynx to
# generate 8-bit characters from 7-bit ones output by terminal.
#
# Currently available keyboard layouts:
#	ROT13'd keyboard layout
#	JCUKEN Cyrillic, for AT 101-key kbd
#	YAWERTY Cyrillic, for DEC LK201 kbd
#
# This feature is ifdef'd with EXP_KEYBOARD_LAYOUT.
#KEYBOARD_LAYOUT:JCUKEN Cyrillic, for AT 101-key kbd

# Key remapping definitions!
#
# You may redefine the keymapping of any function in Lynx by
# using the KEYMAP variable.  The form of KEYMAP is:
#  KEYMAP:<KEYSTROKE>:<LYNX FUNCTION>
#
# You must map upper and lowercase keys separately.
#
# A representative list of functions mapped to their default keys is
# provided below.  All of the mappings are commented out by default
# since they just map to the default mappings, except for TOGGLE_HELP
# (see below).  See LYKeymap.c for the complete key mapping.  Use the
# 'K'eymap command when running Lynx for a list of the current mappings.
#
# Special keys map to:
#         Up Arrow: 0x100
#       Down Arrow: 0x101
#      Right Arrow: 0x102
#       Left Arrow: 0x103
#        Page Down: 0x104
#          Page Up: 0x105
#      Keypad Home: 0x106
#       Keypad End: 0x107
#   Function key 1: 0x108
# vt100   Help Key: 0x108
# vt100     Do Key: 0x109
# vt100   Find Key: 0x10A
# vt100 Select Key: 0x10B
# vt100 Insert Key: 0x10C
# vt100 Remove Key: 0x10D
#  (0x00) NULL KEY: 0x10E (DO_NOTHING)
#
# Note for OS/390: The following is strongly recommended  /* S/390 -- gil -- 1464 */
# to undo ASCII->EBCDIC conversion.
#
# DOWNLOADER:Save OS/390 binary file: iconv -f IBM-1047 -t ISO8859-1 %s >%s:FALSE

#KEYMAP:0x2F:SOURCE	# Toggle source viewing mode (show HTML source)
#KEYMAP:^R:RELOAD	# Reload the current document and redisplay
#KEYMAP:q:QUIT		# Ask the user to quit
#KEYMAP:Q:ABORT		# Quit without verification
#KEYMAP:0x20:NEXT_PAGE	# Move down to next page
#KEYMAP:-:PREV_PAGE	# Move up to previous page
#KEYMAP:^P:UP_TWO	# Move display up two lines
#KEYMAP:0x10C:UP_TWO	# Function key Insert - Move display up two lines
#KEYMAP:^N:DOWN_TWO	# Move display down two lines
#KEYMAP:0x10D:DOWN_TWO	# Function key Remove - Move display down two lines
#KEYMAP:(:UP_HALF	# Move display up half a page
#KEYMAP:):DOWN_HALF	# Move display down half a page
#KEYMAP:^W:REFRESH	# Refresh the screen
#KEYMAP:^A:HOME		# Go to top of current document
#KEYMAP:0x106:HOME	# Keypad Home - Go to top of current document
#KEYMAP:0x10A:HOME	# Function key Find - Go to top of current document
#KEYMAP:^E:END		# Go to bottom of current document
#KEYMAP:0x107:END	# Keypad End - Go to bottom of current document
#KEYMAP:0x10B:END	# Function key Select - Go to bottom of current document
#KEYMAP:0x100:PREV_LINK	# Move to the previous link
#KEYMAP:0x101:NEXT_LINK	# Move to the next link
#KEYMAP:<:UP_LINK       # Move to the link above
#KEYMAP:>:DOWN_LINK	# Move to the link below
#KEYMAP:0x00:RIGHT_LINK	# Move to the link to the right
#KEYMAP:0x00:LEFT_LINK	# Move to the link to the left
#KEYMAP:0x7F:HISTORY	# Display stack of currently-suspended documents
#KEYMAP:0x08:HISTORY	# Display stack of currently-suspended documents
#KEYMAP:0x103:PREV_DOC	# Return to the previous document
#KEYMAP:0x102:ACTIVATE	# Select the current link
#KEYMAP:0x109:ACTIVATE	# Function key Do - Select the current link
#KEYMAP:g:GOTO		# Goto a random URL
#KEYMAP:G:ECGOTO	# Edit the current document's URL and go to it
#KEYMAP:H:HELP		# Show default help screen
#KEYMAP:0x108:HELP	# Function key Help - Show default help screen
#KEYMAP:i:INDEX		# Show default index
#*** Edit FORM_LINK_SUBMIT_MESSAGE in userdefs.h if you change NOCACHE ***
#KEYMAP:x:NOCACHE	# Force submission of form or link with no-cache
#*** Do not change INTERRUPT from 'z' & 'Z' ***
#KEYMAP:z:INTERRUPT	# Interrupt network transmission
#KEYMAP:m:MAIN_MENU	# Return to the main menu
#KEYMAP:o:OPTIONS	# Show the options menu
#KEYMAP:i:INDEX_SEARCH	# Search a server based index
#KEYMAP:/:WHEREIS	# Find a string within the current document
#KEYMAP:n:NEXT		# Find next occurrence of string within document
#KEYMAP:c:COMMENT	# Comment to the author of the current document
#KEYMAP:e:EDIT		# Edit current document
#KEYMAP:E:ELGOTO	# Edit the current link's URL or ACTION and go to it
#KEYMAP:=:INFO		# Show info about current document
#KEYMAP:p:PRINT		# Show print options
#KEYMAP:a:ADD_BOOKMARK	# Add current document to bookmark list
#KEYMAP:v:VIEW_BOOKMARK	# View the bookmark list
#KEYMAP:V:VLINKS	# List links visited during the current Lynx session
#KEYMAP:!:SHELL		# Spawn default shell
#KEYMAP:d:DOWNLOAD	# Download current link
#KEYMAP:j:JUMP		# Jump to a predefined target
#KEYMAP:k:KEYMAP	# Display the current key map
#KEYMAP:l:LIST		# List the references (links) in the current document
#KEYMAP:#:TOOLBAR	# Go to the Toolbar or Banner in the current document
#KEYMAP:^T:TRACE_TOGGLE	# Toggle tracing of browser operations
#KEYMAP:*:IMAGE_TOGGLE	# Toggle inclusion of links for all images
#KEYMAP:[:INLINE_TOGGLE	# Toggle pseudo-ALTs for inlines with no ALT string
#KEYMAP:0x00:DO_NOTHING	# Does nothing (ignore this key)

# If TOGGLE_HELP is mapped, in novice mode the second help menu line
# can be toggled among NOVICE_LINE_TWO_A, _B, and _C, as defined in
# userdefs.h.  Otherwise, it will be NOVICE_LINE_TWO.
#
#KEYMAP:O:TOGGLE_HELP	# Show other commands in the novice help menu

# Alternate jumps files can be defined and mapped to keys here.  If the
# keys have already been mapped, then those mappings will be replaced,
# but you should leave at least one key mapped to the default jumps
# file.  You optionally may include a statusline prompt string for the
# mapping.  You must map upper and lowercase keys separately (beware of
# mappings to keys which the user can further remap via the 'o'ptions
# menu).  The format is:
#
#	JUMPFILE:path:key[:prompt]
#
# where path should begin with a '/' (i.e., not include file://localhost).
# Any white space following a prompt string will be trimmed, and a single
# space will be added by Lynx.
#
#JUMPFILE:/Lynx_Dir/ips.html:i:IP or Interest group (? for list):

# VMS ONLY:
#==========
# On VMS, CSwing (an XTree emulation for VTxxx terminals) is intended for
# use as the Directory/File Manager (sources, objects, or executables are
# available from ftp://narnia.memst.edu/).  CSWING_PATH should be defined
# here or in userdefs.h to your foreign command for CSwing, with any
# regulatory switches you want included.  If not defined, or defined as
# a zero-length string ("") or "none" (case-insensitive), the support
# will be disabled.  It will also be disabled if the -nobrowse or
# -selective switches are used, or if the file_url restriction is set.
#
# When enabled, the DIRED_MENU command (normally 'f' or 'F') will invoke
# CSwing, normally with the current default directory as an argument to
# position the user on that node of the directory tree.  However, if the
# current document is a local directory listing, or a local file and not
# one of the temporary menu or list files, the associated directory will
# be passed as an argument, to position the user on that node of the tree.
#
#CSWING_PATH:swing

# Unix ONLY:
#===========
# LIST_FORMAT defines the display for local files when Lynx has been
# compiled with LONG_LIST defined in the Makefile.  The default is set
# in userdefs.h, normally to "ls -l" format, and can be changed here
# by uncommenting the indicated lines, or adding a definition with a
# modified parameter list.
#
# The percent items in the list are interpreted as follows:
#
#	%p	Unix-style permission bits
#	%l	link count
#	%o	owner of file
#	%g	group of file
#	%d	date of last modification
#	%a	anchor pointing to file or directory
#	%A	as above but don't show symbolic links
#	%k	size of file in Kilobytes
#	%K	as above but omit size for directories
#	%s	size of file in bytes
#
# Anything between the percent and the letter is passed on to sprintf.
# A double percent yields a literal percent on output.  Other characters
# are passed through literally.
#
# If you want only the filename:
#
#LIST_FORMAT:    %a
#
# If you want a brief output:
#
#LIST_FORMAT:   %4K %-12.12d %a
#
# If you want the Unix "ls -l" format:
#
#LIST_FORMAT:    %p %4l %-8.8o %-8.8g %7s %-12.12d %a

# Unix ONLY:
#===========
# DIRED_MENU items are used to compose the F)ull menu list in DIRED mode
# The behavior of the default configuration given here is much the same
# as it was when this menu was hard-coded but these items can now be adjusted
# to suit local needs.  In particular, many of the LYNXDIRED actions can be
# replaced with lynxexec, lynxprog and lynxcgi script references.
#
# NOTE that defining even one DIRED_MENU line overrides all the built-in
# definitions, so a complete set must then be defined here.
#
# Each line consists of the following fields:
#
#	DIRED_MENU:type:suffix:link text:extra text:action
#
#	type: TAG:   list only when one or more files are tagged
#	      FILE:  list only when the current selection is a regular file
#	      DIR:   list only when the current selection is a directory
#	      LINK:  list only when the current selection is a symbolic link
#
#	suffix:  list only if the current selection ends in this pattern
#
#	link text:  the displayed text of the link
#
#	extra text:  the text displayed following the link
#
#	action:  the URL to be followed upon selection
#
#	link text and action are scanned for % sequences that are expanded
#	at display time as follows:
#
#			%p  path of current selection
#			%f  filename (last component) of current selection
#			%t  tagged list (full paths)
#			%l  list of tagged file names
#			%d  the current directory
#
#DIRED_MENU:::New File:(in current directory):LYNXDIRED://NEW_FILE%d
#DIRED_MENU:::New Directory:(in current directory):LYNXDIRED://NEW_FOLDER%d

#DIRED_MENU:FILE::Install:(of current selection):LYNXDIRED://INSTALL_SRC%p
#DIRED_MENU:DIR::Install:(of current selection):LYNXDIRED://INSTALL_SRC%p
#DIRED_MENU:FILE::Modify File Name:(of current selection):LYNXDIRED://MODIFY_NAME%p
#DIRED_MENU:DIR::Modify Directory Name:(of current selection):LYNXDIRED://MODIFY_NAME%p
#DIRED_MENU:LINK::Modify Name:(of selected symbolic link):LYNXDIRED://MODIFY_NAME%p

# Following depends on OK_PERMIT
#DIRED_MENU:FILE::Modify File Permissions:(of current selection):LYNXDIRED://PERMIT_SRC%p
#DIRED_MENU:DIR::Modify Directory Permissions:(of current selection):LYNXDIRED://PERMIT_SRC%p

#DIRED_MENU:FILE::Change Location:(of selected file):LYNXDIRED://MODIFY_LOCATION%p
#DIRED_MENU:DIR::Change Location:(of selected directory):LYNXDIRED://MODIFY_LOCATION%p
#DIRED_MENU:LINK::Change Location:(of selected symbolic link):LYNXDIRED://MODIFY_LOCATION%p
#DIRED_MENU:FILE::Remove File:(current selection):LYNXDIRED://REMOVE_SINGLE%p
#DIRED_MENU:DIR::Remove Directory:(current selection):LYNXDIRED://REMOVE_SINGLE%p
#DIRED_MENU:LINK::Remove Symbolic Link:(current selection):LYNXDIRED://REMOVE_SINGLE%p

# Following depends on OK_UUDECODE and !ARCHIVE_ONLY
#DIRED_MENU:FILE::UUDecode:(current selection):LYNXDIRED://UUDECODE%p

# Following depends on OK_TAR and !ARCHIVE_ONLY
#DIRED_MENU:FILE:.tar.Z:Expand:(current selection):LYNXDIRED://UNTAR_Z%p

# Following depend on OK_TAR and OK_GZIP and !ARCHIVE_ONLY
#DIRED_MENU:FILE:.tar.gz:Expand:(current selection):LYNXDIRED://UNTAR_GZ%p
#DIRED_MENU:FILE:.tgz:Expand:(current selection):LYNXDIRED://UNTAR_GZ%p

# Following depends on !ARCHIVE_ONLY
#DIRED_MENU:FILE:.Z:Uncompress:(current selection):LYNXDIRED://DECOMPRESS%p

# Following depends on OK_GZIP and !ARCHIVE_ONLY
#DIRED_MENU:FILE:.gz:Uncompress:(current selection):LYNXDIRED://UNGZIP%p

# Following depends on OK_ZIP and !ARCHIVE_ONLY
#DIRED_MENU:FILE:.zip:Uncompress:(current selection):LYNXDIRED://UNZIP%p

# Following depends on OK_TAR and !ARCHIVE_ONLY
#DIRED_MENU:FILE:.tar:UnTar:(current selection):LYNXDIRED://UNTAR%p

# Following depends on OK_TAR
#DIRED_MENU:DIR::Tar:(current selection):LYNXDIRED://TAR%p

# Following depends on OK_TAR and OK_GZIP
#DIRED_MENU:DIR::Tar and compress:(using GNU gzip):LYNXDIRED://TAR_GZ%p

# Following depends on OK_ZIP
#DIRED_MENU:DIR::Package and compress:(using zip):LYNXDIRED://ZIP%p

#DIRED_MENU:FILE::Compress:(using Unix compress):LYNXDIRED://COMPRESS%p

# Following depends on OK_GZIP
#DIRED_MENU:FILE::Compress:(using gzip):LYNXDIRED://GZIP%p

# Following depends on OK_ZIP
#DIRED_MENU:FILE::Compress:(using zip):LYNXDIRED://ZIP%p

#DIRED_MENU:TAG::Move all tagged items to another location.::LYNXDIRED://MOVE_TAGGED%d
#DIRED_MENU:TAG::Remove all tagged files and directories.::LYNXDIRED://REMOVE_TAGGED
#DIRED_MENU:TAG::Untag all tagged items.::LYNXDIRED://CLEAR_TAGGED

# Unix ONLY:
#===========
# If NO_FORCED_CORE_DUMP is set to TRUE, Lynx will not force
# core dumps via abort() calls on fatal errors or assert()
# calls to check potentially fatal errors.  The compilation
# default normally is FALSE, and can be changed here.  The
# compilation or configuration default can be toggled via
# the -core command line switch.
# Note that this setting cannot be used to prevent core dumps
# with certainty.  If this is important, means provided by the
# operating system or kernel should be used.
#
#NO_FORCED_CORE_DUMP:FALSE

# COLORS (only available if compiled with SVr4 curses or slang)
#
# The line must be of the form:
# COLOR:Integer:Foreground:Background
#
# The Integer value is interpreted as follows:
#     0 - normal               - normal text
#     1 - bold                 - hyperlinks, see also BOLD_* options above
#     2 - reverse              - statusline
#     3 - bold + reverse		(not used)
#     4 - underline                   - text emphasis (EM, I, B tags etc.)
#     5 - bold + underline            - hyperlinks within text emphasis
#     6 - reverse + underline         - currently selected hyperlink
#     7 - reverse + underline + bold  - WHEREIS search hits
#
# Each Foreground and Background value must be one of:
#      black              red            green            brown
#       blue          magenta             cyan        lightgray
#       gray        brightred      brightgreen           yellow
# brightblue    brightmagenta       brightcyan            white
#
# Uncomment and change any of the compilation defaults.
#
#COLOR:0:black:white
#COLOR:1:blue:white
#COLOR:2:yellow:blue
#COLOR:3:green:white
#COLOR:4:magenta:white
#COLOR:5:blue:white
#COLOR:6:red:white
#COLOR:7:magenta:cyan

# External application support.  This feature allows Lynx to pass a given
# URL to an external program.  It was written for three reasons.
#
# 1) To overcome the deficiency	of Lynx_386 not supporting ftp and news.
#    External programs can be used instead by passing the URL.
#
# 2) To allow for background	transfers in multitasking systems.
#    I use wget for http and ftp transfers via the external command.
#
# 3) To allow for new URLs to be used through Lynx.
#	  URLs can be made up such as mymail: to spawn desired applications
#	  via the external command.
#
# Restrictions can be imposed using -restrictions=externals at the Lynx
# command line.  This will disallow all EXTERNAL lines in lynx.cfg that
# end in FALSE.  TRUE lines will still function.
#
# The lynx.cfg line is as follows:
#
# EXTERNAL:<url>:<command> %s:<norestriction>
#
# <url> Any given URL.  This can be normal ones like ftp or http or it
# can be one made up like mymail.
#
# <command> The command to run with %s being the URL that will be passed.
# In Linux I use "wget -q %s &" (no quotes) to spawn a copy of wget for
# downloading http and ftp files in the background.  In Win95 I use
# "start ncftp %s" to spawn ncftp in a new window.
#
# <norestriction> This complements the -restrictions=externals feature to allow
# for certain externals to be enabled while restricting others.  TRUE means
# a command will still function while Lynx is restricted.  WB
#
# EXTERNAL:ftp:wget %s &:TRUE